Erstellen einer Delphi-App-Verknüpfung ohne entsprechenden Menüpunkt
Frage
Ich möchte in meiner App eine Tastenkombination (z. B. Strg+Alt+D) haben, um eine Funktion aufzurufen, aber ich möchte nicht, dass die Tastenkombination in irgendeinem Menü angezeigt wird.Ist es möglich, in Ihrer App eine Verknüpfung verfügbar zu haben, die sonst unsichtbar ist?
Lösung
du kannst den ... benutzen OnShortCut
Veranstaltung der TApplicationEvents
Komponente für diese Aufgabe
Überprüfen Sie diesen Code
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;
Andere Tipps
ja es ist möglich.Sie müssen Ihrem Formular ein Objekt der Klassenwaffe hinzufügen. Sie können eine Tastatur-Verknüpfung für die TACTION angeben und dann Ihren Code in Event Onexecute der TACTUTE stellen.
Beachten Sie, dass Sie keine Taction direkt in Ihrem Formular hinzufügen können, Sie müssen eine TACTLIST-Liste in Ihr Formular einfügen, und Sie können Ihrer TACTLIST-Datei eine Taste hinzufügen.