The code below produced a beep when the TEST button is pressed.
It was my intention, that setting the DISABLE & SEND checkbox should cause the same results by sending an appropriate command to the dialog.
In PB8 it does; PB9 nada!
This example is only slightly unusual in that the TEST button has its own callback.
Is this a PB9 thing or a Me thing?
It was my intention, that setting the DISABLE & SEND checkbox should cause the same results by sending an appropriate command to the dialog.
In PB8 it does; PB9 nada!
This example is only slightly unusual in that the TEST button has its own callback.
Is this a PB9 thing or a Me thing?
Code:
#COMPILE EXE #DIM ALL #INCLUDE "WIN32API.INC" %IDD_DIALOG1 = 101 %IDC_CHK = 1000 %IDC_TST = 1010 DECLARE CALLBACK FUNCTION ShowMAINProc() DECLARE CALLBACK FUNCTION TESTProc() DECLARE FUNCTION ShowMAIN(BYVAL hParent AS DWORD) AS LONG FUNCTION PBMAIN() ShowMAIN %HWND_DESKTOP END FUNCTION '------------------------------------------------------------------------------ ' ** Callbacks ** '------------------------------------------------------------------------------ CALLBACK FUNCTION ShowMAINProc() LOCAL i AS LONG SELECT CASE AS LONG CBMSG CASE %WM_COMMAND ' Process control notifications SELECT CASE AS LONG CBCTL CASE %IDC_CHK IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN CONTROL GET CHECK CBHNDL, CBCTL TO i IF i THEN CONTROL DISABLE CBHNDL, %IDC_TST SLEEP 10 DIALOG SEND CBHNDL, %WM_COMMAND, %IDC_TST, %BN_CLICKED 'cause it disabled ELSE CONTROL ENABLE CBHNDL, %IDC_TST END IF END IF 'CASE %IDC_TST ' IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN ' MSGBOX "%IDC_TST=" + FORMAT$(%IDC_TST), %MB_TASKMODAL ' END IF END SELECT END SELECT END FUNCTION '------------------------------------------------------------------------------ '------------------------------------------------------------------------------ CALLBACK FUNCTION TESTProc() BEEP FUNCTION = %TRUE END FUNCTION '------------------------------------------------------------------------------ '------------------------------------------------------------------------------ ' ** Dialogs ** '------------------------------------------------------------------------------ FUNCTION ShowMAIN(BYVAL hParent AS DWORD) AS LONG LOCAL lRslt AS LONG LOCAL hDlg AS DWORD DIALOG NEW hParent, "DIALOG SEND...%BN_CLICKED", 350, 154, 171, 31, _ %WS_POPUP OR %WS_BORDER OR %WS_DLGFRAME OR %WS_SYSMENU OR _ %WS_CLIPSIBLINGS OR %WS_VISIBLE 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 CONTROL ADD CHECKBOX, hDlg, %IDC_CHK, "DISABLE && SEND", 5, 5, 95, 20, _ %WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP OR %BS_TEXT OR _ %BS_AUTOCHECKBOX OR %BS_NOTIFY OR %BS_LEFT OR %BS_VCENTER, _ %WS_EX_LEFT OR %WS_EX_LTRREADING CONTROL ADD BUTTON, hDlg, %IDC_TST, "TEST", 105, 5, 60, 20, %WS_GROUP OR _ %WS_TABSTOP OR %BS_DEFPUSHBUTTON CALL TESTproc DIALOG SHOW MODAL hDlg, CALL ShowMAINProc TO lRslt FUNCTION = lRslt END FUNCTION '------------------------------------------------------------------------------
Comment