View Full Version : سوال: چطور در برنامه می توان متوجه فشار Ctrl+Z شد
kamran_14
دوشنبه 16 اسفند 1389, 22:08 عصر
سلام
چطور در برنامه می توان متوجه فشار Ctrl+Z شد
tdkhakpur
دوشنبه 16 اسفند 1389, 22:44 عصر
سلام
چطور در برنامه می توان متوجه فشار Ctrl+Z شد
یک راه اینه که از کامپوننت ApplicationEvent که استاندارد هست استفاده کنید.
یعنی داخل ApplicationEvents پارامتر Msg رو بررسی کنید که آیا مربوط به WM_HOTKEY هست یا نه.
اگر مثبت شد قدم بعدی بررسی Msg.lParam برای مشخص شدن کلید فشار داده شده.
mbshareat
سه شنبه 17 اسفند 1389, 01:47 صبح
سلام
همین که فرمودین رومیشه به صورت کد بذارین.
من این شرط رو گذاشتم کار نکرد :
If Msg=WM_HOTKEY Then
tdkhakpur
سه شنبه 17 اسفند 1389, 02:14 صبح
من این شرط رو گذاشتم کار نکرد :
درسته قسمت رجیستر فراموش شده باید hotkey رو رجیستر کنید داخل کد زیر برای مشخصه - عدد 0 قرار داده شده شما میتونید از atom برای دریافت عدد خصوص یا یکتا استفاده کنید.
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;var Handled: Boolean);
begin
if Msg.message= WM_HOTKEY then
if LOWORD(Msg.lParam)=MOD_CONTROL then
if HIWORD(Msg.lParam)=ord('Z') then
ShowMessage('hi, i am control + z key');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey( Handle, 0, MOD_CONTROL, ord('Z'));
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
UnregisterHotKey(Handle, 0);
end;
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.