I've tried this:
Code: Select all
IsWindowVisible_(GadgetID(#YourGadget))
Code: Select all
IsWindowVisible_(GadgetID(#YourGadget))
Code: Select all
HideGadget(cg,0)
Debug "BEFORE:"+Str(IsWindowVisible_(GadgetID(cg)))
HideGadget(cg,1)
Debug "AFTER"+Str(IsWindowVisible_(GadgetID(cg)))
Code: Select all
Enumeration
#Window_0
EndEnumeration
Enumeration
#Text_2
#Text_1
#Text_0
#Button_2
#Button_1
#Button_0
EndEnumeration
Structure VisualDesignerGadgets
Gadget.l
EventFunction.l
EndStructure
Global NewList EventProcedures.VisualDesignerGadgets()
Procedure Button_2_Event(Window, Event, Gadget, Type)
Debug "#Button_2"
EndProcedure
Procedure Button_1_Event(Window, Event, Gadget, Type)
Debug "#Button_1"
EndProcedure
Procedure Button_0_Event(Window, Event, Gadget, Type)
Debug "#Button_0"
EndProcedure
Procedure RegisterGadgetEvent(Gadget, *Function)
If IsGadget(Gadget)
AddElement(EventProcedures())
EventProcedures()\Gadget = Gadget
EventProcedures()\EventFunction = *Function
EndIf
EndProcedure
Procedure CallEventFunction(Window, Event, Gadget, Type)
ForEach EventProcedures()
If EventProcedures()\Gadget = Gadget
CallFunctionFast(EventProcedures()\EventFunction, Window, Event, Gadget, Type)
LastElement(EventProcedures())
EndIf
Next
EndProcedure
Procedure Open_Window_0()
If OpenWindow(#Window_0, 5, 5, 400, 268, "Window 0", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
ButtonGadget(#Button_0, 15, 15, 365, 45, "BUTTON 0 is VISIBLE and NOT HIDDEN")
RegisterGadgetEvent(#Button_0, @Button_0_Event())
ButtonGadget(#Button_1, 15, 70, 365, 45, "BUTTON 1 is DISABLED")
RegisterGadgetEvent(#Button_1, @Button_1_Event())
ButtonGadget(#Button_2, 15, 125, 365, 45, "BUTTON 2 is INVISIBLE")
RegisterGadgetEvent(#Button_2, @Button_2_Event())
TextGadget(#Text_0, 20, 180, 355, 20, "", #PB_Text_Center | #PB_Text_Border)
TextGadget(#Text_1, 20, 205, 355, 20, "", #PB_Text_Center | #PB_Text_Border)
TextGadget(#Text_2, 20, 230, 355, 20, "", #PB_Text_Center | #PB_Text_Border)
EndIf
EndIf
EndProcedure
Open_Window_0()
DisableGadget(#Button_1, 1); button 1 is now dsiabled
DisableGadget(#Button_2, 1) ; button 2 is now disabled
HideGadget(#Button_2, 1); button 2 is now hidden
Result0 = GetGadgetState(#Button_0)
SetGadgetText(#Text_0, "BUTTON 0 STATE = "+Str(Result0))
Result1 = GetGadgetState(#Button_1)
SetGadgetText(#Text_1, "BUTTON 1 STATE = "+Str(Result1))
Result2 = GetGadgetState(#Button_2)
SetGadgetText(#Text_2, "BUTTON 2 STATE = "+Str(Result2))
Repeat
Event = WaitWindowEvent()
Gadget = EventGadget()
Type = EventType()
Window = EventWindow()
Select Event
Case #PB_Event_Gadget
CallEventFunction(Window, Event, Gadget, Type)
EndSelect
Until Event = #PB_Event_CloseWindow
End
Code: Select all
If OpenWindow(0, 369, 199, 229, 74, "Test")
If CreateGadgetList(WindowID(0))
cg=StringGadget(#PB_Any, 30, 20, 180, 30, "")
EndIf
EndIf
HideGadget(cg, 0)
Debug "BEFORE: "+Str(IsWindowVisible_(GadgetID(cg)))
HideGadget(cg, 1)
Debug "AFTER: "+Str(IsWindowVisible_(GadgetID(cg)))
OK so the debug window is not supposed to show a 0 then a 1? (in my example)PB wrote:@IgglePiggle: Your second bit of code doesn't show a failing snippet...
Code: Select all
BEFORE: 1
AFTER: 0