1: مشکل در هنگام کار با تابع GetKeyboardLayoutName
در هنگام کاردر واقع وقتی برنامه اجرا میشه با این ارور مواجه میشم: Access Violation
2: چجوری میشه برای EditBox و یا Memo دو کلید Ctrl+A تعریف کرد.
Printable View
1: مشکل در هنگام کار با تابع GetKeyboardLayoutName
در هنگام کاردر واقع وقتی برنامه اجرا میشه با این ارور مواجه میشم: Access Violation
2: چجوری میشه برای EditBox و یا Memo دو کلید Ctrl+A تعریف کرد.
با سلام :5:
1.
2.کد:procedure TForm1.FormCreate(Sender: TObject);
var
vKBLN: PChar;
begin
GetMem(vKBLN, 30);
GetKeyboardLayoutName(vKBLN);
ShowMessage(vKBLN);
end;
در رویداد OnKeyDown کمپوننت Memo بنویس :
برای Edit هم مثل Memo است.کد:procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (Key = Ord('A')) and (ssCtrl in Shift) then
begin
Memo1.SelectAll;
Key := 0;
end;
end;
سلام:31:
يه سوال؟
اين عبارت كه در شرط آوردين رو از كجا پيدا كردين. ssCTRL in shift يعن اينكه اگه كليد كنترل پايين بود؟نقل قول:
ssCtrl in Shift
چرا نمي شه از اين عبارت استفاده كرد VK_Ctrl in shift؟
موفق باشين
باي:8:
shift متغیرس هست که مقادیر پارامتری خاصی داره که میتونی چندتا از این پارامترها رو هم بگیره.
توی هلپ دلفی راحت پیداش میکردی
آقا ممنون مرسی
با سلام
shift متغیر نیست یک مجموعه (Set) است.