Restored from previous forum. Originally posted by Franco.
Originally posted by PB
>
So what does your one look like? Care to post the procedure?
Ok, Ok...
Code: Select all
Procedure$ PG_InputRequester(PureGUI_Title$,PureGUI_Message$,PureGUI_DefaultString$,PureGUI_Size)
PureGUI_SizeY = 135 ;always the same (old value=135)
If PureGUI_Size = 3 : PureGUI_SizeX = 422 : EndIf ; for 64 characters
If PureGUI_Size = 2 : PureGUI_SizeX = 326 : EndIf ; for 48 characters
If PureGUI_Size = 1 : PureGUI_SizeX = 230 : EndIf ; for 32 characters
If PureGUI_Size = 0 Or PureGUI_Size > 3 : PureGUI_SizeX = 188 : EndIf
PureGUI_InputRequester = PG_Create(OpenWindow(PG_Count(#PG_Window),0,0,PureGUI_SizeX,PureGUI_SizeY,#PB_Window_ScreenCentered,PureGUI_Title$))
PG_Create(TextGadget(PG_Count(#PG_Gadget), 12, 12, (PureGUI_SizeX - 30), 25, PureGUI_Message$))
PureGUI_InputRequesterStringGadget = PG_Create(StringGadget(PG_Count(#PG_Gadget), 12, 42, (PureGUI_SizeX - 30), 22, PureGUI_DefaultString$))
ActivateGadget(PureGUI_InputRequesterStringGadget)
PureGUI_InputRequesterOK = PG_Create(ButtonGadget(PG_Count(#PG_Gadget), (PureGUI_SizeX - 175), 76, 76, 22, "OK"))
PureGUI_InputRequesterCancel = PG_Create(ButtonGadget(PG_Count(#PG_Gadget), (PureGUI_SizeX - 94), 76, 76, 22, "Cancel"))
SetForegroundWindow_(WindowID(PureGUI_InputRequester))
Repeat
PureGUI_EventID.l = WaitWindowEvent()
If PureGUI_EventID = #PB_EventGadget
Select EventGadgetID()
Case PureGUI_InputRequesterOK
PureGUI_Result$=GetGadgetText(PureGUI_InputRequesterStringGadget)
PureGUI_CloseInputRequester = 1
Case PureGUI_InputRequesterCancel
PureGUI_Result$=""
PureGUI_CloseInputRequester = 1
EndSelect
EndIf
Until PureGUI_CloseInputRequester = 1
CloseWindow(PureGUI_InputRequester)
ProcedureReturn PureGUI_Result$
EndProcedure
As you can see, my InputRequester is fully integreated in my PureGUI-Wrapper system.
This code will not work if you don't have the include file "PureGUI.pbi" for the automated window/gadget/etc numbering.
Anyway you can strip it down and take a look at it...
BTW: Yes you are right, the ESC key is not implemented etc.
Have a nice day...
Franco