Einzelnen Beitrag anzeigen

Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#1

Welche Windows-Events zum Zeichnen eines Buttons

  Alt 9. Dez 2005, 11:20
Folgendes Problem:

Ich habe eine abgeleitete TButton-Klasse, bei der ich die Caption und noch anderes selbst zeichne. Der Button selbst wird weiterhin von Windows erstellt.

Gezeichnet wird das ganze über

Delphi-Quellcode:
procedure TMyButton.WndProc(var Message: TMessage);
begin
    inherited WndProc(Message);
    if Message.Msg in [WM_PAINT,WM_ACTIVATE,BM_SETSTATE,WM_ENABLE,WM_NCPAINT] then
    begin
      AdditionalPaint;
    end;
end;
Bei XP kommt es manchmal vor, das AdditionalPaint nicht durchlaufen wird und der Button dann leer ist. Das ganze tritt zufällig auf und meistens, wenn ich aus einer anderen Maske wiederkomme. Fährt man mit der Maus über den leeren Button, wird das Zeichnen wieder erzwungen.

Meine Frage: Welche Windows-Ereignisse gibt es noch, auf die ich das Zeichnen anwerfen muss?
Sven Harazim
--
  Mit Zitat antworten Zitat