Code: Select all
Structure StringGadgetData
x.i : y.i : w.i : h.i : s.s
EndStructure
Define StringGadgetFlag.a = ~#PB_String_Password ; start with ~SHOW
#pwtooltip="Password Input Field"
Procedure ShowHidePass(StringGadget,tooltip.s=#pwtooltip)
Shared StringGadgetFlag
Protected StData.StringGadgetData
StData\x=GadgetX(StringGadget)
StData\y=GadgetY(StringGadget)
StData\w=GadgetWidth(StringGadget)
StData\h=GadgetHeight(StringGadget)
StData\s=GetGadgetText(StringGadget)
If IsGadget(StringGadget):FreeGadget(StringGadget):EndIf
StringGadget(StringGadget,StData\x,StData\y,StData\w,StData\h,StData\s,#PB_String_Password & StringGadgetFlag)
GadgetToolTip(StringGadget,tooltip)
StringGadgetFlag = ~StringGadgetFlag
EndProcedure
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
OpenWindow(0, 0, 0, 250, 90, "Toggle password visibility",#PB_Window_SystemMenu)
StringGadget(0, 40, 20, 180, 20, "Test", #PB_String_Password) ; start with HIDE
GadgetToolTip(0,#pwtooltip)
SetActiveGadget(0)
CheckBoxGadget(1, 40, 55, 180, 25, "Show Password")
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Gadget
If EventGadget() = 1
ShowHidePass(0)
SetActiveGadget(0) ; optional
EndIf
EndSelect
ForEver