Einzelnen Beitrag anzeigen

Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

TTouchkeyboard erweitern

  Alt 9. Feb 2011, 06:42
Hallo,

ich verzweifel an folgender Aufgabe: Ich benutze ein TTouchkeyboard (gibts seit Delphi 2010) im NumPad-Design.
Nun muss ich Fallweise die Minustaste ausblenden/deaktivieren/wasauchimmer. Auf jeden Fall soll der User die Minustaste nicht benutzen können. Dafür möchte ich eine Komponente ableiten mit einer zusätzlichen Eigenschaft, die dies regelt.

Ich bekomme bei dieser Aufgabe irgendwie überhaupt keinen Ansatz. Meine Erste Idee war, TCustomTouchKeyboard.CreateKeyboard zu überschreiben. Dort könnte ich den Scancode der Buttons vor dem Erstellen abfragen, und je nachdem den Minusbutton gar nicht erst erstellen. Geht leider nicht, weil CreateKeyboard nicht virtual ist.

Dann bin ich auf die Auflistung der Buttons gestoßen: TCustomTouchKeyboard.Buttons, was mir die Buttons als TCustomKeyboardButton zurückliefert. Fein, dachte ich. Suchst Du Dir einfach den Minusbutton und setzt enabled oder visible auf false. Geht nicht, weil TCustumKeyboardButton weder eine eigenschaft Enabled oder Visible hat. Ich hatte gehofft, dass die Buttons von TCustomButton abgeleitet sind. Sind sie aber nicht - sie sind von gar nichts abgeleitet (ok, von TObject natürlich). Das hilft mir also auch nicht weiter.

Hat jemand einen Ansatz, wie ich das lösen kann?

Die letzte Möglichkeit wäre natürlich, die Unit Keyboard in mein Projekt aufzunehmen und CreateKeyboard zu ändern. Aber das möchte ich eigentlich vermeiden.

Danke!
Jens
Jens
  Mit Zitat antworten Zitat