Was ist eine GroupBox?
- eine GroupBox ist ein aus PB als Frame3DGadget() bekanntes element das jedoch nicht nur zur verschönerung gedacht ist.
alles was sich innerhalb dieses Frame3DGadget´s befindet hat als parent das Frame3DGadget und man kann z.b. alle steuerelemente einer GroupBox mit einmal disablen oder Enablen.
so hier nun der code:
Code: Alles auswählen
Structure GROUPBOX
Parent.l
gadget.l
EndStructure
NewList GroupGadgets.GROUPBOX()
Procedure GroupBoxGadget(gadget.l,x.l,y.l,width.l,height.l,Text.s)
ContainerGadget(gadget,x,y,width,height)
Frame3DGadget(#PB_Any,0,0,width,height,Text)
CloseGadgetList()
EndProcedure
Procedure DisableGroupBox(GroupBox,stat)
FirstElement(GroupGadgets())
For I = 0 To CountList(GroupGadgets())
SelectElement(GroupGadgets(),I)
If GroupBox = GroupGadgets()\Parent
DisableGadget(GroupGadgets()\gadget,stat)
EndIf
Next
LastElement(GroupGadgets())
EndProcedure
Procedure AddGroupBoxItem(GroupBox,gadget)
AddElement(GroupGadgets())
GroupGadgets()\Parent = GroupBox
GroupGadgets()\gadget = gadget
EndProcedure
OpenWindow(0,0,0,500,500,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"GroupBoxTest")
CreateGadgetList(WindowID())
Frame3DGadget(0,0,0,240,490,"Normal")
ButtonGadget(1,10,20,150,20,"Disable GrouBox")
ButtonGadget(5,10,50,150,20,"Enable GroupBox")
GroupBoxGadget(2,250,50,240,440,"GroupBoxTest")
OpenGadgetList(2)
ButtonGadget(3,5,20,150,20,"in groupbox 1")
AddGroupBoxItem(2,3)
ButtonGadget(4,5,50,150,20,"in groupbox 2")
AddGroupBoxItem(2,4)
TextGadget(6,5,80,150,20,"in groupbox")
AddGroupBoxItem(2,6)
StringGadget(7,5,110,150,20,"in groupbox")
AddGroupBoxItem(2,7)
CloseGadgetList()
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
GadgetID = EventGadgetID()
If GadgetID = 1
DisableGroupBox(2,1)
EndIf
If GadgetID = 5
DisableGroupBox(2,0)
EndIf
EndIf
Until Event = #PB_Event_CloseWindow