![]() |
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 |
Re: Control von TCheckBox ableiten und selbst zeichnen
Also eine Möglichkeit anstatt Paint wäre z.b. diese:
Delphi-Quellcode:
Und dann würde ich den Rest über ThemeServices regeln, dazu ein Beispiel:
type TSonderCheckbox = class ( TCheckbox )
private procedure WMPaint(var Msg: TWMPaint); message WM_PAINT; ![]() 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 15:30 Uhr. |
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