File "Input_Box.inc"
Path: /HotKeyMgr/inc/Input_Box.inc
File size: 3.16 KB
MIME-type:
Charset: utf-8
'
' Prototype:
' ----------
' FUNCTION Input_Box( BYVAL hParent AS DWORD, BYVAL title AS STRING, _
' BYVAL message AS STRING, BYVAL defaut AS STRING _
' ) AS STRING
'
'------------------------------------------------------------------------------
' ** Globals **
'------------------------------------------------------------------------------
GLOBAL inpb_str AS STRING
'------------------------------------------------------------------------------
'------------------------------------------------------------------------------
' ** CallBacks **
'------------------------------------------------------------------------------
CALLBACK FUNCTION ProcInputBox()
SELECT CASE AS LONG CB.MSG
CASE %WM_INITDIALOG
' Initialization handler
LOCAL e AS STRING
CONTROL SET FOCUS CB.HNDL, 101
CONTROL GET TEXT CB.HNDL, 101 TO e
CONTROL SEND CB.HNDL, 101, %EM_SETSEL, LEN(e)+1, LEN(e)+1
CASE %WM_COMMAND
' Process control notifications
IF CB.CTL = %IDCANCEL THEN
DIALOG END CB.HNDL, 0
ELSEIF CB.CTL = %IDOK THEN
CONTROL GET TEXT CB.HNDL, 101 TO inpb_str
DIALOG END CB.HNDL, -1
END IF
END SELECT
END FUNCTION
'------------------------------------------------------------------------------
'------------------------------------------------------------------------------
' ** Dialogs **
'------------------------------------------------------------------------------
FUNCTION Input_Box(BYVAL hParent AS DWORD, BYVAL title AS STRING, _
BYVAL message AS STRING, BYVAL defaut AS STRING) AS STRING
LOCAL lRes AS LONG
inpb_str = ""
lRes = ShowInputBox(hParent, title, message, defaut)
IF lRes <> 0 THEN FUNCTION = inpb_str
inpb_str = ""
END FUNCTION
'------------------------------------------------------------------------------
'------------------------------------------------------------------------------
FUNCTION ShowInputBox(BYVAL hParent AS DWORD, BYVAL title AS STRING, _
BYVAL message AS STRING, BYVAL defaut AS STRING) AS LONG
LOCAL lRes AS LONG
LOCAL hDlg AS DWORD
LOCAL hIco AS DWORD
DIALOG NEW PIXELS, hParent, title, 0, 0, 260, 100, _
%WS_POPUP OR%WS_BORDER OR %WS_DLGFRAME OR %WS_SYSMENU OR %WS_VISIBLE OR _
%WS_CLIPSIBLINGS OR %DS_MODALFRAME OR %DS_3DLOOK OR %DS_NOFAILCREATE OR _
%DS_SETFONT, %WS_EX_CONTROLPARENT OR %WS_EX_LEFT OR _
%WS_EX_LTRREADING OR %WS_EX_RIGHTSCROLLBAR, TO hDlg
hIco = ExtractIcon(GetModuleHandle(""), "shell32.dll", 23)
SetClassLong(hDlg, %GCL_HICONSM, hIco)
SetClassLong(hDlg, %GCL_HICON, hIco)
DeleteObject(hIco)
CONTROL ADD LABEL, hDlg, 102, message, 6, 6, 180, 60
CONTROL ADD BUTTON, hDlg, %IDOK, "OK", 196, 6, 54, 24
CONTROL ADD BUTTON, hDlg, %IDCANCEL, "Cancel", 196, 32, 54, 24
CONTROL ADD TEXTBOX, hDlg, 101, defaut, 6, 70, 248, 24
DIALOG SHOW MODAL hDlg, CALL ProcInputBox TO lRes
FUNCTION = lRes
END FUNCTION
'------------------------------------------------------------------------------