Einzelnen Beitrag anzeigen

Schucki

Registriert seit: 17. Jul 2004
158 Beiträge
 
Delphi 2010 Architect
 
#1

Combobox Selber zeichnen ?

  Alt 14. Sep 2005, 21:55
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...
Frank
  Mit Zitat antworten Zitat