#COMPILE EXE
#DIM ALL
%USEMACROS =1 'if don't write the .exe will become big
#INCLUDE "win32api.inc"
FUNCTION PBMAIN () AS LONG
LOCAL hDlg AS DWORD
DIALOG NEW 0,"Caption",,,220,140,%WS_CAPTION OR %WS_SYSMENU,0 TO hdlg
CONTROL ADD BUTTON,hDlg,%IDOK,"&OK",112,122,50,14
CONTROL ADD BUTTON,hDlg,%IDCANCEL,"E&xit",166,122,50,14
DIALOG SHOW MODAL hdlg,CALL Dlgproc()
END FUNCTION
CALLBACK FUNCTION DlgProc() AS LONG
LOCAL l AS INTEGER
SELECT CASE AS LONG CBMSG
CASE %WM_INITDIALOG 'happen before dialog show
MSGBOX "start"
CASE %WM_DESTROY
MSGBOX("out") 'I find the msgbox can't close!
CASE %WM_COMMAND
SELECT CASE AS LONG CBCTL
CASE %IDOK
IF CBCTLMSG=%BN_CLICKED THEN
MSGBOX "current time is: " & TIME$ & $CRLF & _
"current date is: "& DATE$,_
%MB_TASKMODAL,"Time and date"
END IF
CASE %IDCANCEL
IF CBCTLMSG=%BN_CLICKED THEN
DIALOG END CBHNDL
END IF
END SELECT
END SELECT
END FUNCTION
'======================================
endless loop,why ?
#DIM ALL
%USEMACROS =1 'if don't write the .exe will become big
#INCLUDE "win32api.inc"
FUNCTION PBMAIN () AS LONG
LOCAL hDlg AS DWORD
DIALOG NEW 0,"Caption",,,220,140,%WS_CAPTION OR %WS_SYSMENU,0 TO hdlg
CONTROL ADD BUTTON,hDlg,%IDOK,"&OK",112,122,50,14
CONTROL ADD BUTTON,hDlg,%IDCANCEL,"E&xit",166,122,50,14
DIALOG SHOW MODAL hdlg,CALL Dlgproc()
END FUNCTION
CALLBACK FUNCTION DlgProc() AS LONG
LOCAL l AS INTEGER
SELECT CASE AS LONG CBMSG
CASE %WM_INITDIALOG 'happen before dialog show
MSGBOX "start"
CASE %WM_DESTROY
MSGBOX("out") 'I find the msgbox can't close!
CASE %WM_COMMAND
SELECT CASE AS LONG CBCTL
CASE %IDOK
IF CBCTLMSG=%BN_CLICKED THEN
MSGBOX "current time is: " & TIME$ & $CRLF & _
"current date is: "& DATE$,_
%MB_TASKMODAL,"Time and date"
END IF
CASE %IDCANCEL
IF CBCTLMSG=%BN_CLICKED THEN
DIALOG END CBHNDL
END IF
END SELECT
END SELECT
END FUNCTION
'======================================
endless loop,why ?
Comment