James
Code:
'=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* 'SED_PBCC '------------------------------------------------------------------------------ ' PBCC InputBox For your using pleasure or not! '------------------------------------------------------------------------------ ' James C. Fuller ' August 7,2008 '------------------------------------------------------------------------------ '=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* #COMPILE EXE #INCLUDE "WIN32API.INC" 'Link Located in prior Message #INCLUDE "JCFRTDLG.BAS" '============================================================================== SUB CenterWindow ( _ BYVAL hWnd AS DWORD _ ) DIM WndRect AS RECT DIM x AS LONG DIM y AS LONG GetWindowRect hWnd, WndRect x = (GetSystemMetrics(%SM_CXSCREEN) _ - (WndRect.nRight-WndRect.nLeft))\2 y = (GetSystemMetrics(%SM_CYSCREEN) _ - (WndRect.nBottom-WndRect.nTop+GetSystemMetrics(%SM_CYCAPTION)))\2 SetWindowPos hWnd, %NULL, x, y, 0, 0, %SWP_NOSIZE OR %SWP_NOZORDER END SUB '============================================================================== GLOBAL UserName AS STRING '============================================================================== FUNCTION InputFunction(BYVAL Param1 AS STRING) AS LONG LOCAL sDlg AS STRING LOCAL w,RetVal AS LONG w = INT(LEN(Param1) * 5) ' width of winidow IF w < 105 THEN w = 105 DlgTemplate_Create sDlg, _ &H084C000D4&, _ 0, _ 0, _ %CW_USEDEFAULT, _ %CW_USEDEFAULT, _ (w + 40), _ 30, _ "", _ "", _ Param1, _ 0, _ 400, _ 0, _ "MS Sans Serif" DlgTemplate_AddControl sDlg, _ 14, _ 9, _ (w-28), _ 12, _ 101, _ 0, _ %WS_TABSTOP OR %WS_VISIBLE OR %WS_BORDER OR %ES_LEFT OR %ES_AUTOHSCROLL, _ %WS_EX_CLIENTEDGE OR %WS_EX_LEFT, _ "EDIT", _ "", _ "" DlgTemplate_AddControl sDlg, _ w, _ 9, _ 30, _ 14, _ %IDOK, _ 0, _ %BS_PUSHBUTTON OR %WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP, _ 0, _ "BUTTON", _ "OK", _ "" sDlg = sDlg + CHR$(0) RetVal = DialogBoxIndirectParam(GetModuleHandle(""), BYVAL STRPTR(sDlg), 0, CODEPTR(DlgProc), 0) IF RetVal = -1 THEN PRINT "No Go" WAITKEY$ END IF END FUNCTION '============================================================================== FUNCTION _ DlgProc ( _ BYVAL hDlg AS DWORD,_ BYVAL wMsg AS DWORD,_ BYVAL wParam AS DWORD,_ BYVAL lParam AS LONG _ ) AS LONG SELECT CASE wMsg CASE %WM_INITDIALOG CenterWindow hDlg CASE %WM_COMMAND IF LO(WORD,wParam) = %IDOK THEN IF HI(WORD,wParam) = %BN_CLICKED THEN UserName = STRING$(GetWindowTextLength(GetDlgItem(hDlg,101))+1,32) GetWindowText GetDlgItem(hDlg,101),BYVAL STRPTR(UserName),LEN(UserName) SendMessage hDlg,%WM_CLOSE,0,0 END IF END IF CASE %WM_CLOSE EndDialog hDlg,1 END SELECT END FUNCTION '============================================================================== FUNCTION PBMAIN() AS LONG InputFunction "Enter Name" ? UserName WAITKEY$ END FUNCTION
Leave a comment: