Einzelnen Beitrag anzeigen

Benutzerbild von majornudelholz
majornudelholz

Registriert seit: 22. Nov 2015
15 Beiträge
 
Delphi XE7 Professional
 
#1

Paintbox "flackern" mit WMEraseBkGnd verhindern

  Alt 21. Mär 2017, 01:12
Delphi-Version: XE7
Hallo Liebe Community!

Ich möchte die Windowsmessage WMEraseBkGnd abfangen, damit der Hintergrund meiner PaintBox beim leeren nicht immer wieder zuerst weiß gezeichnet wird und dann wieder der Hintergrund gelöscht wird. Meinen Recherchen zufolge geht dies, indem ich WMEraseBkGnd Message abfange bzw. einen Wert ungleich 0 einsetze. Dies sähe ungefähr so aus.

Delphi-Quellcode:
TMyPanel = class(TCustomControl)
private
  procedure WMEraseBkGnd(Var Message: TWMEraseBkGnd); message WM_EraseBkGnd;
end;

//...

P_Spielfeld: TMyPanel;

//...

TMyPanel.WMEraseBkGnd(Var Message: TWMEraseBkGnd);
begin
  Message.Result := 1;
end;
Wenn ich das so mache, gibt er mir aus, dass ich P_Spielfeld zu TPanel redeklarieren soll... Erkennt Delphi meine neue Klasse nicht?!
Zur Info noch: Meine Paintbox ist im Panel enthalten, deshalb mache ich das Panel so... Was mache ich falsch?!

Danke für jede Hilfe/Anregung!
  Mit Zitat antworten Zitat