Code archives/BlitzPlus Gui/RequestText
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
You can use Confirm, Notify, RequestFile... but not get a single line of text. This is a simple MaxGUI function to quickly get a line of text from the user. | |||||
Import maxgui.Drivers Import maxgui.proxyGadgets ?Win32 Import maxgui.win32maxguiex ?MacOS Import maxgui.CocoaMaxGui ?Linux Import MaxGui.FLTKMaxGui ? Function RequestText$(titleText$, questionText$, defaultTxt$="", doesGameHideMouse = True) Local rWindow:TGadget = CreateWindow(titleText,64,64,350,125,Null,WINDOW_TITLEBAR|WINDOW_CENTER) CreateLabel(questionText,8,8,325,16,rWindow) Local rTextfield:TGadget = CreateTextField(8,8+24,325,24,rWindow) Local rOkButton:TGadget = CreateButton("Ok",325-200-8,32+32,100,24,rWindow) Local rCancelButton:TGadget = CreateButton("Cancel",325-100,32+32,100,24,rWindow) rTextfield.SetText defaultTxt ActivateWindow rWindow If doesGameHideMouse Then ShowMouse While Not AppTerminate( ) WaitEvent() Select CurrentEvent.id Case EVENT_WINDOWCLOSE, EVENT_APPTERMINATE rTextfield.SetText defaultTxt Exit Case EVENT_GADGETACTION If CurrentEvent.source = rOkButton Then Exit ElseIf CurrentEvent.source = rCancelButton rTextfield.SetText defaultTxt Exit End If End Select Wend Local returnText$ = rTextfield.GetText() HideGadget rWindow FreeGadget rWindow If doesGameHideMouse Then HideMouse Return returnText End Function |
Comments
None.
Code Archives Forum