Kein #PB_Event_Repaint Ebent während Fensterbewegung?
Verfasst: 28.05.2006 16:44
Hallöchen,
Vorwarnung: Mein erstes Projekt in PureBasic
Ich reagiere im Eventloop meines Programmfensters auf den Event #PB_Event_Repaint.
Aber die Repaint-Message kommt während eines Verschiebens des Fensters erst, wenn man die Maustaste wieder losgelassen hat.
Wenn ich das Fenster also zur Hälfte aus dem Desktop schiebe und wieder zurück, dann ist die Hälfte des Fensterinhalts zerstört. Erst wenn ich die Maus loslasse wird der Inhalt neugezeichnet [Procedure Test()]
Ist das normal oder kann ich irgendwie die Message vorher schon bekommen? Also genau dann, wenn der Inhalt des Fensters tatsächlich zerstört wird - während des verschiebens.
Hier mal ein (ausgedünnter) Auschnitt des Loops:
Gruß Markus
Vorwarnung: Mein erstes Projekt in PureBasic

Ich reagiere im Eventloop meines Programmfensters auf den Event #PB_Event_Repaint.
Aber die Repaint-Message kommt während eines Verschiebens des Fensters erst, wenn man die Maustaste wieder losgelassen hat.
Wenn ich das Fenster also zur Hälfte aus dem Desktop schiebe und wieder zurück, dann ist die Hälfte des Fensterinhalts zerstört. Erst wenn ich die Maus loslasse wird der Inhalt neugezeichnet [Procedure Test()]
Ist das normal oder kann ich irgendwie die Message vorher schon bekommen? Also genau dann, wenn der Inhalt des Fensters tatsächlich zerstört wird - während des verschiebens.
Hier mal ein (ausgedünnter) Auschnitt des Loops:
Code: Alles auswählen
Repeat ; Start of the event loop
Event = WaitWindowEvent() ; This line waits until an event is received from Windows
Select Event
Case #PB_Event_Menu
;[blah...]
Case #PB_Event_Gadget
;[blubb...]
Case #PB_Event_Repaint
Test() ; Test ist meine Repaint-Procedure
EndSelect
Until Event = #PB_Event_CloseWindow Or MenuID = #QUITGAME; End of the event loop