Hallo,
ich möchte gerne eine Combobox haben die sich von dem Design der Standardbox abhebt.
Ich veranlasse das neuzeichnen durch Messages die ich "überwache".
Delphi-Quellcode:
...
procedure WndProc(var Message: TMessage); override;
procedure CnCommand(var Message: TWMCommand); message CN_COMMAND;
...
procedure TMyComboBox.WndProc(var Message: TMessage);
begin
case Message.Msg of
WM_PAINT:begin
inherited;
PaintMyComboBox;
end;
else inherited;
end;
end;
procedure TMyComboBox.CnCommand(var Message: TWMCommand);
begin
case Message.NotifyCode of
CBN_CLOSEUP:begin
inherited;
PaintMyComboBox;
end;
CBN_SELENDOK:begin
inherited;
PaintMyComboBox;
end;
else inherited;
end;
end;
Soweit erstmal ganz gut.
Meine Combobox wird super gezeichnet und auch auf dem Schirm dargestellt nur wenn ich einen Eintrag auswähle dann wird "PaintMyCombobox" zwar einmal ausgefürt aber danach malt Windows einfach munter seinen Style drüber.
Warum ist das so, welche Message hab ich nicht berücksichtigt?
Gruß Schucki...