Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#9

AW: Virtuelle Tastatur ohne Focus

  Alt 17. Nov 2011, 12:02
Immer, wenn eine Eingabemaske den Fokus bekommt, kann man sich im VirtuellenKeyboard in einem Property merken, welche es ist.
Immer, wenn ein Eingabefeld den Fokus bekommt, kann man sich im VirtuellenKeyboard einem Property merken, welches es ist.
Beim Klick eines Buttons im VK kann man nun dem richtigen Edit eine Message senden, welche Taste gedrückt wurde, und danach die richtige Maske retour-aktivieren.
...oder?
Da die Keyboard-Komponente keine Events bereitstellt, in die man sich einklinken kann, bleibt eigentlich nur eine Ableitung als Lösung. Dummerweise sind die relevanten Methoden aber nicht virtuell. Damit kann man auch gleich eine eigene Komponente schreiben. Einfach ist das alles aber wirklich nicht.

Ein möglicher Ansatz wäre allerdings auch, die FormKey-Events des Keyboard-Forms zu verwenden. Das Weiterleiten der Messages and das passende Control ist allerdings immer noch unschön - vor allem, da das Keyboard ja eigentlich dieses (zumindest im eigenen Formular) schon korrekt ausführen würde.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat