Page 1 of 1
ContainerGadget resize
Posted: Mon Apr 14, 2025 9:48 am
by rndrei
How to find out if ContainerGadget has changed ( #PB_EventType_Resize )?!
Code: Select all
If OpenWindow(0, 0, 0, 322, 150, "ContainerGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ContainerGadget(0, 8, 8, 306, 133, #PB_Container_Raised)
ButtonGadget(1, 10, 15, 80, 24, "Button 1")
ButtonGadget(2, 95, 15, 80, 24, "Button 2")
CloseGadgetList()
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Re: ContainerGadget resize
Posted: Mon Apr 14, 2025 10:54 am
by Piero
Code: Select all
If OpenWindow(0, 0, 0, 322, 150, "ContainerGadget")
ButtonGadget(0, 10, 15, 80, 24, "Resize")
ContainerGadget(1, 8, 8, 306, 133, #PB_Container_Raised)
CloseGadgetList()
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 0
ResizeGadget(1, 8, 8, 306, 99)
Case 1
Select EventType()
Case #PB_EventType_Resize
Debug "Resize Event"
EndSelect
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf
Re: ContainerGadget resize
Posted: Mon Apr 14, 2025 11:09 am
by Axolotl
OMG. RTFM.
In the IDE move the Caret (Text-Cursor) over the word "ContainerGadget()" and press F1.
On the Help Page you will find this:
The following event is supported through EventType():
#PB_EventType_Resize: The gadget has been resized.
Re: ContainerGadget resize
Posted: Mon Apr 14, 2025 11:11 am
by Kiffi
Code: Select all
EnableExplicit
Enumeration
#Window
#ContainerGadget
#Button1
#Button2
EndEnumeration
Procedure SizeWindowEvent()
Select EventWindow()
Case #Window
ResizeGadget(#ContainerGadget, #PB_Ignore, #PB_Ignore, WindowWidth(#Window) - 2*8, WindowHeight(#Window) - 2*8)
EndSelect
EndProcedure
Procedure ContainerGadgetEvent()
Select EventType()
Case #PB_EventType_Resize
Debug "#PB_EventType_Resize W:" + Str(GadgetWidth(#ContainerGadget)) + " H:" + Str(GadgetHeight(#ContainerGadget))
EndSelect
EndProcedure
If OpenWindow(#Window, 0, 0, 322, 150, "ContainerGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_SizeGadget)
ContainerGadget(#ContainerGadget, 8, 8, 306, 133, #PB_Container_Raised)
ButtonGadget(#Button1, 10, 15, 80, 24, "Button 1")
ButtonGadget(#Button2, 95, 15, 80, 24, "Button 2")
CloseGadgetList()
BindEvent(#PB_Event_SizeWindow, @SizeWindowEvent())
BindGadgetEvent(#ContainerGadget, @ContainerGadgetEvent())
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Re: ContainerGadget resize
Posted: Mon Apr 14, 2025 12:00 pm
by Piero
NOTE TO FRED:
To make the windows 11 ARM (VM) 64 version behave like on monterey mac M1 (graphics and debug) I had to modify it:
Code: Select all
p=1
If OpenWindow(0, 0, 0, 322, 150, "ContainerGadget")
ContainerGadget(1, 8, 8, 306, 133, #PB_Container_Raised)
ButtonGadget(0, 10, 15, 80, 24, "Resize")
CloseGadgetList()
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 0
ResizeGadget(1, 8, 8, 306, 99-p)
p+1
Case 1
Select EventType()
Case #PB_EventType_Resize
Debug "Resize Event"
EndSelect
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf
Re: ContainerGadget resize
Posted: Mon Apr 14, 2025 12:38 pm
by rndrei
Thank you, I will understand!