Page 1 of 1

Flicker when resizing centered scrollarea inner size

Posted: Mon May 01, 2006 12:34 pm
by Trond
When the inner size of a scrollarea is resized, the inner area flickers in the top-left corner before it is centered again. Could this be fixed?

Code: Select all

OpenWindow(0, 0, 0, 512, 384, "", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
CreateGadgetList(WindowID(0))

Global ScrollArea = ScrollAreaGadget(-1, 0, 0, 512, 384, 0, 0, 30, #PB_ScrollArea_Center)
  ButtonGadget(0, 0, 0, 97, 25, "button")
CloseGadgetList()

; Comment in this for extra effect
;BgBrush = CreateSolidBrush_(#Red)
;SetClassLong_(FindWindowEx_(GadgetID(ScrollArea), 0, 0, 0), #GCL_HBRBACKGROUND, BgBrush)

Procedure Thread(Void)
  Protected I
  Repeat
    I + 1
    SetGadgetAttribute(ScrollArea, #PB_ScrollArea_InnerHeight, I)
    SetGadgetAttribute(ScrollArea, #PB_ScrollArea_InnerWidth, I)
    Delay(30)
  Until I = 380
EndProcedure

CreateThread(@Thread(), 0)

Repeat
  Select WaitWindowEvent(10)
    Case #PB_Event_CloseWindow
      Break
  EndSelect
ForEver