سؤال

أريد الحصول على مجموعة مفاتيح اختصار (مثل 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 من الحق.

لاحظ أنه لا يمكنك إضافة إلغاء الفعل مباشرة إلى النموذج الخاص بك، يجب عليك وضع قائمة استيصال في النموذج الخاص بك ثم يمكنك إضافة نجاح إلى قائمة استيك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top