Delphi-PRAXiS
Seite 2 von 2     12   

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/)
-   -   Delphi TButton mit zwei Captions und unterschiedlichem Font (https://www.delphipraxis.net/144734-tbutton-mit-zwei-captions-und-unterschiedlichem-font.html)

HJay 2. Jan 2010 14:41

Re: TButton mit zwei Captions und unterschiedlichem Font
 
Ja, könnte man auch jedesmal im OnPaint machen. Werde ich mal ändern, obwohl ich es elegant fand, es nur einmal zu machen. Der Button soll ja auch nur auf Formularen oder anderen WinControls liegen.

Leider hat das aber nichts mit dem Problem zu tun, dass der Button zwar richtig gezeichnet wird und über TCanvas angesprochen werden kann, jedoch nach dem Drücken die Paint-Routine nicht aufgerufen wird. Erst wenn man zwischen Fenstern hin-und-her clickt oder so, wird wieder ein Paint empfangen und der Button wieder korrekt dargestellt. Da muss ich irgendwas vergessen habe, ich komme aber nicht drauf.

Garfield 2. Jan 2010 18:51

Re: TButton mit zwei Captions und unterschiedlichem Font
 
Ich würde dafür einen TSpeedButton modifizieren. Allerdings wird dabei alles in TBitmaps gezeichnet, wobei dann beim OnPaint jeweils das entsprechende zur Anzeige kommt.

HJay 2. Jan 2010 19:41

Re: TButton mit zwei Captions und unterschiedlichem Font
 
Hallo Garfield! Ja, ich bin auf die Frage ja nur "aufgesprungen", weil mich das Thema interessierte. Mir geht es eigentlich nur ganz allgemein darum, wie man auf Controls, die keinen Canvas haben, etwas zeichnen kann. Das klappt ja auch schon fast, nur eben nicht vollständig. Das finde ich ärgerlich und komme mir blöde vor. OnPaint wird ausgeführt, aber anscheinend reicht das nicht, um alle relevanten Messages auszuwerten. Ich hatte gehofft, einer der Profis hier, weiß auf Anhieb, was ich vergesse...

Garfield 3. Jan 2010 09:31

Re: TButton mit zwei Captions und unterschiedlichem Font
 
In dem Source oben hast Du die private Variable FCanvas, im Paint verwendest Du jedoch Canvas.

Wenn Dir Messages fehlen, sieh einfach in den Sourcen zu TButton oder TSpeedButton nach, welche es dort gibt. Du kannst die Komponenten auch einfach in eine eigene Unit kopieren, umbenennen und dann schauen, welche Messages abgearbeitet werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:03 Uhr.
Seite 2 von 2     12   

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