سلام،
من میخوام وقتی برنامه ام در حال اجرا است در هر قسمتی از پروژه که کلید خاصی مثلا F1 زده میشه من متوجه بشم که این کلید زده شده و همچنین بدونم که در کدوم فرم این کاید زده شده. خالا آیا راهی وجود داره که بدون کد نویسی در همه فرمها این مهم فراهم بشه ؟
یک کامپوننت ApplicationEvents روی یکی از فرم ها قرار دهید و برای رویداد OnShortCut کد موردنظر را بنویسید.
از طریق Screen.ActiveForm هم به فرم فعال دسترسی دارید.
procedure TMainForm.ApplicationEventsShortCut(var Msg: TWMKey;
var Handled: Boolean);
begin
if Msg.CharCode = VK_F1 then
begin
ShowMessage('F1 on ' + Screen.ActiveForm.Name);
Handled := True;
end;
end;