Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Paintbox "flackern" mit WMEraseBkGnd verhindern (https://www.delphipraxis.net/192112-paintbox-flackern-mit-wmerasebkgnd-verhindern.html)

majornudelholz 21. Mär 2017 00:12

Delphi-Version: XE7

Paintbox "flackern" mit WMEraseBkGnd verhindern
 
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!

Luckie 21. Mär 2017 00:18

AW: Paintbox "flackern" mit WMEraseBkGnd verhindern
 
Irgendwie scheint dein Threadtitel nicht mit deinem Problem zu tun zu haben. Zeig doch mal mehr von deinem Code als die paar Zeilen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz