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 :D

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 :D
:lol:

// 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 ... :wink:

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)