Code: Select all
EnableExplicit
#bitShow = 0
#bitEnable = 1
Define gadgetData, wFlags, appQuit, vStat.s, eStat.s
Macro EnableGadget(gadgetNo)
gadgetData = GetGadgetData(gadgetNo)
gadgetData!(1<<#bitEnable)
DisableGadget(gadgetNo,
(gadgetData&(1<<#bitEnable))>>#bitEnable)
SetGadgetData(gadgetNo, gadgetData)
EndMacro
Macro ShowGadget(gadgetNo)
gadgetData = GetGadgetData(gadgetNo)
gadgetData!(1<<#bitShow)
HideGadget(gadgetNo,
(gadgetData&(1<<#bitShow))>>#bitShow)
SetGadgetData(gadgetNo, gadgetData)
EndMacro
Macro GadgetEnabled(gadgetNo)
-(((GetGadgetData(gadgetNo)&(1<<#bitEnable))>>#bitEnable) - 1)
EndMacro
Macro GadgetVisible(gadgetNo)
-(((GetGadgetData(gadgetNo)&(1<<#bitShow))>>#bitShow) - 1)
EndMacro
vStat = "Visible" : eStat = "Enabled"
wFlags = #PB_Window_SystemMenu | #PB_Window_ScreenCentered
OpenWindow(0, 50, 50, 220, 100, "Gadget States", wFlags)
ButtonGadget(0, 15, 10, 120, 25, "ENABLE/DISABLE -->")
ButtonGadget(1, 15, 40, 120, 25, "SHOW/HIDE -->")
ButtonGadget(2, 150, 10, 50, 55, "TEST")
TextGadget(3, 15, 75, 200, 20, "Test Button Status: Visible && Enabled")
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
appQuit = 1
Case #PB_Event_Gadget
If EventGadget() < 2
Select EventGadget()
Case 0
EnableGadget(2)
eStat = StringField("Disabled Enabled",
GadgetEnabled(2) + 1, " ")
Case 1
ShowGadget(2)
vStat = StringField("Hidden Visible",
GadgetVisible(2) + 1, " ")
EndSelect
SetGadgetText(3, "Test Button Status: " +
vStat + " && " + eStat)
EndIf
EndSelect
Until appQuit = 1
