Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TTouchkeyboard erweitern (https://www.delphipraxis.net/158195-ttouchkeyboard-erweitern.html)

Nersgatt 9. Feb 2011 06:42

TTouchkeyboard erweitern
 
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

WM_CLOSE 9. Feb 2011 06:56

AW: TTouchkeyboard erweitern
 
Haben die vielleicht eine Paint routine die du überschreiben kannst? Also praktisch eine Ableitung der Klasse?

du könntest auch die Unit direkt ändern und dann das package neu kompillieren.

ConstantGardener 9. Feb 2011 07:37

AW: TTouchkeyboard erweitern
 
Hallo Jens,

Chris Bensen hatte dazu eine ganze Serie an Artikeln (hab sie nicht gelesen aber mich erinnert), siehe hier Hacking the TTouchKeyBooard

vielleicht hilft es, cu CG

Nersgatt 9. Feb 2011 07:49

AW: TTouchkeyboard erweitern
 
Jawoll, die Einträge von Chris Bensen scheinen hilfreich zu sein. Da werde ich mich mal einlesen. Dankeschön!

Nersgatt 27. Sep 2013 08:25

AW: TTouchkeyboard erweitern
 
Zweieinhalb Jahre später habe ich endlich die Zeit gefunden, mich mit dem Thema tiefergehend zu beschäftigen. Ich möchte an dieser Stelle auf ein kleines Tutorial hinweisen, welches ich in der Ecke veröffentlicht habe:
http://www.entwickler-ecke.de/topic_...en_112093.html

Der schöne Günther 27. Sep 2013 10:03

AW: TTouchkeyboard erweitern
 
Wahnsinn, dankeschön! :thumb:

Die Einträge von Chris Bensen habe ich auch seit Monaten auf meiner Todo-Liste gehabt, dein Tutorial ist wesentlich knackiger und schöner aufbereitet :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz