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/)
-   -   Delphi Control von TCheckBox ableiten und selbst zeichnen (https://www.delphipraxis.net/151756-control-von-tcheckbox-ableiten-und-selbst-zeichnen.html)

Ares 31. Mai 2010 15:12


Control von TCheckBox ableiten und selbst zeichnen
 
Hallo!

Ich benötige eine CheckBox mit einigen Sonderfunktionen. Z.B. soll optional hinter der Beschriftung ein zusätzlicher Button angezeigt werden über den ein Infofenster angezeigt werden kann.

Diese "TSonderCheckBox" soll einige bereits vorhandene TCheckBoxen in existierenden Programmen ersetzen. Diese Programme erwarten eine also ein TCheckBox bzw. einen Nachfahren. Daher muss die neue Komponente wirklich von TCheckBox abgeleitet sein und kann z.B. kein TCustomControl sein, dass eine ganz neue CheckBox implementiert.

Wie kann ich in "TSonderCheckBox = class(TCheckBox)" zusätzliche Teile (z.B. den Button für das Infofenster) selber malen? Eine Paint-Methode die ich überschreiben könnte gibt es in TCheckBox leider nicht.

Besten Dank
Ares

Alaitoc 31. Mai 2010 15:23

Re: Control von TCheckBox ableiten und selbst zeichnen
 
Also eine Möglichkeit anstatt Paint wäre z.b. diese:

Delphi-Quellcode:
type TSonderCheckbox = class ( TCheckbox )
    private
          procedure WMPaint(var Msg: TWMPaint); message WM_PAINT;
Und dann würde ich den Rest über ThemeServices regeln, dazu ein Beispiel:

ThemeServices (Beispiel mit Checkbox)

Edit: Also über die ThemeServices kann man halt alle Standard Windows Buttons abbilden und zwar mit dem aktuellen Windows-Theme (XP-Style+)

Edit2: Äh WM_Paint nicht WM_NCPaint.

MfG Alaitoc


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:20 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