Code: Select all
Procedure sizeCB()
ResizeGadget(0,#PB_Ignore,#PB_Ignore,WindowWidth(0)-20,WindowHeight(0,#PB_Window_InnerCoordinate)-40)
ResizeGadget(1,#PB_Ignore,#PB_Ignore,#PB_Ignore,WindowHeight(0,#PB_Window_InnerCoordinate)-40)
ResizeGadget(2,#PB_Ignore,#PB_Ignore,#PB_Ignore,WindowHeight(0,#PB_Window_InnerCoordinate)-40)
ResizeGadget(3,#PB_Ignore,#PB_Ignore,WindowWidth(0)-340,WindowHeight(0,#PB_Window_InnerCoordinate)-40)
ResizeImage(0,WindowWidth(0),WindowHeight(0))
SetGadgetAttribute(0,#PB_Canvas_Image ,ImageID(0))
EndProcedure
sgcolor = $67DBF7
flags = #PB_Window_Invisible | #PB_Window_SystemMenu| #PB_Window_MaximizeGadget| #PB_Window_MinimizeGadget| #PB_Window_ScreenCentered | #PB_Window_SizeGadget
OpenWindow(0,0,0,800,600,"Test",Flags)
If CreateStatusBar(0, WindowID(0))
AddStatusBarField(100)
AddStatusBarField(50)
AddStatusBarField(100)
EndIf
StatusBarText(0, 0, "Area 1")
StatusBarText(0, 1, "Area 2", #PB_StatusBar_BorderLess)
StatusBarText(0, 2, "Area 3", #PB_StatusBar_Right | #PB_StatusBar_Raised)
CreateImage(0,800,600,24,sgcolor)
CanvasGadget(0,10,10,780,560,#PB_Canvas_Container)
SetGadgetAttribute(0,#PB_Canvas_Image ,ImageID(0))
ListIconGadget(1,0,0,188,560,"Column 0",100,#PB_ListIcon_FullRowSelect|#PB_ListIcon_GridLines)
ExplorerListGadget(2,192,0,188,560,"c:\")
ExplorerListGadget(3,384,0,396,560,"c:\")
CloseGadgetList()
While WindowEvent() : Wend
BindEvent(#PB_Event_SizeWindow,@sizeCB())
HideWindow(0,0)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Quit = 1
Case #PB_Event_Gadget
Select EventGadget()
Case 0
Select EventType()
Case #PB_EventType_MouseEnter
SetGadgetAttribute(0,#PB_Canvas_Cursor,#PB_Cursor_LeftRight)
Case #PB_EventType_MouseLeave
SetGadgetAttribute(0,#PB_Canvas_Cursor,#PB_Cursor_Default)
Case #PB_EventType_LeftButtonDown
cx = GetGadgetAttribute(0,#PB_Canvas_MouseX)
Downflag = 1
If cx > GadgetX(2)
split = 2
ww = GadgetWidth(2)+GadgetWidth(3)+4
Else
split = 1
ww = GadgetWidth(1)+GadgetWidth(2)+4
EndIf
Case #PB_EventType_MouseMove
If Downflag = 1
cx = GetGadgetAttribute(0,#PB_Canvas_MouseX)
If (cx < GadgetX(3)-12 And split = 1) Or (cx > GadgetX(2)+4 And split = 2)
If split = 1
ResizeGadget(1,#PB_Ignore,#PB_Ignore,cx,#PB_Ignore)
ResizeGadget(2,cx+4,#PB_Ignore,ww-cx-4,#PB_Ignore)
Else
ResizeGadget(2,#PB_Ignore,#PB_Ignore,cx-GadgetWidth(1)-4,#PB_Ignore)
While WindowEvent() : Wend
ResizeGadget(3,cx+4,#PB_Ignore,ww-GadgetWidth(2)-4,#PB_Ignore)
EndIf
EndIf
EndIf
Case #PB_EventType_LeftButtonUp
Downflag = 0
;ResizeGadget(3,#PB_Ignore,#PB_Ignore,#PB_Ignore,#PB_Ignore)
EndSelect
EndSelect
EndSelect
Until Quit = 1
End