إنشاء اختصار لتطبيق دلفي بدون عنصر قائمة مطابق
سؤال
أريد الحصول على مجموعة مفاتيح اختصار (مثل Ctrl+Alt+D) في تطبيقي لاستدعاء وظيفة ما، ولكن لا أريد أن يظهر الاختصار في أي قائمة.هل من الممكن أن يكون لديك اختصار متاح في تطبيقك ويكون غير مرئي؟
المحلول
يمكنك استخدام ال OnShortCut
حدث TApplicationEvents
عنصرا لهذه المهمة
تحقق من هذا الرمز
procedure TForm1.ApplicationEvents1ShortCut(var Msg: TWMKey;
var Handled: Boolean);
begin
if (Msg.CharCode = Ord('D')) and (HiWord(Msg.KeyData) and KF_ALTDOWN <> 0) and (GetKeyState(VK_CONTROL) < 0) then
begin
ShowMessage('Ctrl+Alt+D Pressed') ;
Handled := true;
end;
end;
نصائح أخرى
نعم فمن الممكن.يجب عليك إضافة كائن من حق الفئة إلى النموذج الخاص بك. يمكنك تحديد اختصار لوحة المفاتيح من أجل الخطأ ثم ضع التعليمات البرمجية الخاصة بك في الحدث Onexecute من الحق.
لاحظ أنه لا يمكنك إضافة إلغاء الفعل مباشرة إلى النموذج الخاص بك، يجب عليك وضع قائمة استيصال في النموذج الخاص بك ثم يمكنك إضافة نجاح إلى قائمة استيك.
لا تنتمي إلى StackOverflow