Seite 1 von 3
Flackern von Gadgets verhindern
Verfasst: 05.02.2012 16:28
von Delle
Hallo,
kann man irgendwie das Geflackere von Gadgets verhindern, wenn diese gezeichnet bzw. mit ResizeGadget() bearbeitet werden?
Aktuell lass ich paar ImageGadgets in einem ScrollAreaGadgets einzeichnen und das flackert ganz schön...
War das früher in PB nichtmal so, dass man jedes Mal per WindowCallback()? neuzeichnen MUSSTE und dies jetzt immer automatisch geschieht?
Was gibt's für Möglichkeiten für Anti-Flackerei?

Sowas in der Art wie DoubeBuffer/FlipBuffer... aber eben nur für normale Windows..
Danke,
Delle
Re: Flackern von Gadgets verhindern
Verfasst: 05.02.2012 16:33
von RSBasic
Re: Flackern von Gadgets verhindern
Verfasst: 05.02.2012 16:42
von Delle
SetWindowLongPtr_(WindowID(0), #GWL_STYLE, GetWindowLongPtr_(WindowID(0), #GWL_STYLE) | #WS_CLIPCHILDREN | #WS_CLIPSIBLINGS)
Probiert... hat leider gar keinen Effekt gezeigt

Re: Flackern von Gadgets verhindern
Verfasst: 05.02.2012 16:59
von ts-soft
Gadget disablen, Bild rein und dann wieder enablen.
oder mit
#WM_SETREDRAW probieren.
Re: Flackern von Gadgets verhindern
Verfasst: 05.02.2012 17:02
von Danilo
Delle hat geschrieben:SetWindowLongPtr_(WindowID(0), #GWL_STYLE, GetWindowLongPtr_(WindowID(0), #GWL_STYLE) | #WS_CLIPCHILDREN | #WS_CLIPSIBLINGS)
Probiert... hat leider gar keinen Effekt gezeigt

Das solltest Du für Dein ScrollAreaGadget setzen, wenn es darin flackert.
Dann gibt es noch SendMessage mit #WM_SETREDRAW, entweder fürs Hauptfenster
oder wieder für die ScrollArea. Neuzeichnen verhindern, alles resizen, neuzeichnen wieder
erlauben und dann neuzeichnen lassen (InvalidateRect).
Ohne Code nix los.
EDIT: and the winner is... ts-soft

Re: Flackern von Gadgets verhindern
Verfasst: 05.02.2012 17:08
von ts-soft
Danilo hat geschrieben:Ohne Code nix los.
Irgendwann wird auch der letzte kapiert haben, das richtige Hilfe ohne ausführbaren Code, nur selten möglich ist.
Danilo hat geschrieben:EDIT: and the winner is... ts-soft

// edit
SmartWindowRefresh() hilft manchmal auch (flackern beim resizen).
Re: Flackern von Gadgets verhindern
Verfasst: 05.02.2012 18:56
von c4s
Vielleicht bringt auch
SmartWindowRefresh() etwas...
Re: Flackern von Gadgets verhindern
Verfasst: 05.02.2012 19:21
von Delle
Hm... also alle Tipps beziehen sich mehr aus die Flackerbeseitigung durch Resizing von FENSTERN.
Da mag das vllt alles schön funktionieren, aber sonst nicht.
Re: Flackern von Gadgets verhindern
Verfasst: 05.02.2012 19:23
von ts-soft
Delle hat geschrieben:Hm... also alle Tipps beziehen sich ...
Die können sich gar nicht beziehen, Dein Beispielcode, der das Problem nachvollziehbar macht,
fehlt. Langsam solltest aber ...

Re: Flackern von Gadgets verhindern
Verfasst: 05.02.2012 19:26
von Delle
Beispielcode? Ähm... einfach untereinander paar ImageGadgets in ein ScrollAreaGadget zeichnen lassen (und wenn möglich immer auch gleich ans Ende mitspringen beim Zeichnen).
Das hier hat auch nicht funktioniert:
Code: Alles auswählen
SendMessage_(GadgetID(#ScrollAreaGadget),#WM_SETREDRAW,0,0)
(drawing/resizing)
SendMessage_(GadgetID(#ScrollAreaGadget),#WM_SETREDRAW,1,0)