Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#18

Re: Namen der virtuellen Tastencodes

  Alt 5. Aug 2006, 19:42
Zitat von Mazel:
Ich habe so eben mitbekommen, dass es eine Komponente names Hotkey auf dem Reiter Win32 (Delphi 6) gibt, die all das macht was ich brauche.
Nach deinem vorletzten Beitrag wollte ich dir genau diese Komponente vorschlagen, aber mit deinem letzten Beitrag bist du mir zuvorgekommen.

Zu deinem Problem: die Tastenkombinationen 'Strg+Alt+Einfg' und 'Strg+Alt+0(Zehnertastatur)' unterscheiden sich (mit NUMLOCK off) nur durch die Modifier. Du wirst diese Eigenschaft von THotkey also mit abspeichern und beim Auswählen eines Listeneintrags wieder setzen müssen. Leider werden die Modifier dadurch für nachfolgende Eingaben in THotkey erzwungen. Mit einem Löschbutton gibst du dem Anwender die Möglichkeit, das Eingabefeld komplett (inklusive Modifier) zu löschen.

Im folgenden Beispielcode wird die Eingabe in einer globalen Variablen gespeichert. Sehr wichtig ist die Reihenfolge der Anweisungen in den Routinen btnLoadHotkey und btnClearHotkey.

Delphi-Quellcode:
var
  ShortCut : TShortCut;
  Modifier : THKModifiers;

procedure TForm1.btnSaveHotkey (Sender: TObject);
begin
  ShortCut := HotKey1.HotKey;
  Modifier := HotKey1.Modifiers;
end;

procedure TForm1.btnLoadHotkey (Sender: TObject);
begin
  HotKey1.HotKey := ShortCut;
  HotKey1.Modifiers := Modifier;
end;

procedure TForm1.btnClearHotkey (Sender: TObject);
begin
  HotKey1.Modifiers := [];
  HotKey1.HotKey := 0;
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat