Einzelnen Beitrag anzeigen

Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#1

Shortcut per Komponente erkennen und zuordnen

  Alt 11. Aug 2014, 09:12
Delphi-Version: XE2
Hallo zusammen,
ich schraube gerade an einer kleinen Erweiterung eines TPopupmenu. Sie soll dazu dienen, Textbausteine zur Verfügung zu stellen. Eigentlich ist soweit alles fertig. Das Popupmenu kann so ziemlich allen editierbaren Komponenten zugewiesen werden, und legt nach Auswahl seinen Textbaustein an Cursorposition ab. Wenn man es denn per Maus bedient.
Nun also die Frage: Wie bekomme ich es hin, daß die Komponente auf einen (beliebigen, konfigurierbaren) Shortcut zum öffnen dieses Popups reagiert? Ich weiss, daß es dazu eine Taste auf 99% aller Win-Keyboards gibt. Ich hätte halt gerne die Möglichkeit (weil unsere Anwender es so gewohnt sind) Ctrl+T zum Öffnen des Menüs zu drücken. Bisher müsste das über das KeyDown-Ereignis der "Mutterkomponente" geregelt werden. Also so:
Delphi-Quellcode:
  if (ssctrl in Shift) and (Key = ord('T')) then
  begin
    MeinPunkt.X := 0;
    MeinPunkt.Y := 0;

    GetCaretPos(MeinPunkt);
    // Popup-Menü anzeigen
    SendMessage(TWinControl(Sender).Handle, WM_RBUTTONDOWN, 0, 0);
    SendMessage(TWinControl(Sender).Handle, WM_RBUTTONUP, wparam(MK_RBUTTON), MakeLong(MeinPunkt.x, MeinPunkt.y));
  end;
Wäre schön, wenn man das künftig in die Komponente packen könnte.

Grüßle.
Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat