Naja, entweder musst du die Checkbox Subclassen (siehe Luckies Tuts) oder du "übermalst" sie einfach.
Wie geht das ? So:
Delphi-Quellcode:
// Procedure zum zeichnen der Buttons im eigenem Style
procedure DrawMyButtonstyle(lpdis: PDrawItemStruct; Checked: Boolean);
var
r: TRect;
begin
r := lpdis.rcItem;
Fillrect(lpdis.hDC, lpdis.rcItem, GetSysColor(COLOR_ACTIVEBORDER));
//...
end;
function DialogProc(...); oder was auch immer
var
lpdis: PDrawItemStruct;
//...
WM_DRAWITEM: // Buttons (Checkboxen) herausfischen und Style ändern
begin
Result := FALSE;
lpdis := PDrawItemStruct(lParam);
if Boolean(lpdis.CtlType and ODT_BUTTON) then
begin
if Boolean(lpdis.itemState and ODS_CHECKED)
then DrawMyButtonStyle(lpdis, TRUE)
else DrawMyButtonStyle(lpdis, FALSE);
Result := TRUE;
end;
end;
WM_DRAWITEM das Control muss den Style BS_OWNERDRAW enthalten.