I'm using a custom control wich sents a WM_NOTIFY
Debugging tells me the the call is been made.
DDT does not receive the message while in WM_INITDIALOG
What to do??
------------------
DIALOG NEW hDlg&, Title$,,, 100, 80, _ %WS_POPUPWINDOW OR %WS_CAPTION OR %WS_MINIMIZEBOX OR _ %WS_MAXIMIZEBOX OR %WS_SIZEBOX OR %WS_MAXIMIZE TO hDlg2& PostMessage hDlg2&, %WM_USER+1, x&, y& 'Pass data ' ** Display the dialog DIALOG SHOW MODAL hDlg2&, CALL DlgProc TO Result&
'=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* 'Note: Click Just Cancel and gl& = 0 showing that the DIALOG SEND in WM_INITDIALOG is ' Failing. '------------------------------------------------------------------------------ 'Click Ok and the Msg is processed. #COMPILE EXE #DIM ALL #REGISTER NONE #INCLUDE "WIN32API.INC" %DLG_100_PB_OK = 101 %DLG_100_PB_CANCEL = 102 %DLG_100_PB_OK = 101 %MY_MSG = %WM_USER + 1 GLOBAL gl& '============================================================================== CALLBACK FUNCTION _ DLG_100_PB_CANCEL_CB AS LONG DIALOG END CBHNDL END FUNCTION '============================================================================== CALLBACK FUNCTION _ DLG_100_PB_OK_CB AS LONG DIALOG SEND CBHNDL,%MY_MSG,0,0 MsgBox "DIALOG SEND CBHNDL,%MY_MSG,0,0" DIALOG END CBHNDL END FUNCTION '============================================================================== '=========================================================================== CALLBACK FUNCTION _ DLG_100_CB AS LONG SELECT CASE CBMSG CASE %WM_INITDIALOG DIALOG SEND CBHNDL,%WM_SETICON,1,LoadIcon(0,BYVAL %IDI_APPLICATION) DIALOG SEND CBHNDL,%MY_MSG,0,0 CASE %MY_MSG gl&=10 FUNCTION = 1 END SELECT END FUNCTION '=========================================================================== FUNCTION _ Create_DLG_100 ( _ BYVAL hParent AS LONG _ ) AS LONG DIM hDlg AS LONG DIM lRetVal AS LONG '--------------------------------------------------------------------------- DIALOG NEW hParent, _ "", _ 0, _ 0, _ 240, _ 120, _ %DS_MODALFRAME OR %DS_3DLOOK OR %WS_OVERLAPPED OR %WS_VISIBLE OR %WS_CAPTION OR %WS_SYSMENU, _ %WS_EX_DLGMODALFRAME, TO hDlg '--------------------------------------------------------------------------- CONTROL ADD BUTTON, _ hDlg, _ %DLG_100_PB_OK, _ "OK", _ 186, _ 6, _ 50, _ 14, _ %BS_PUSHBUTTON OR %BS_CENTER OR %WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP, _ , CALL DLG_100_PB_OK_CB '--------------------------------------------------------------------------- CONTROL ADD BUTTON, _ hDlg, _ %DLG_100_PB_CANCEL, _ "Cancel", _ 186, _ 26, _ 50, _ 14, _ %BS_PUSHBUTTON OR %BS_CENTER OR %WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP, _ , CALL DLG_100_PB_CANCEL_CB DIALOG SHOW MODAL hDlg,CALL DLG_100_CB TO lRetVal FUNCTION = lRetVal END FUNCTION '=========================================================================== FUNCTION _ PbMain ( _ )AS LONG Create_Dlg_100 0 MsgBox FORMAT$(gl&) END FUNCTION
#Compile Exe #Dim All #Register None #Include "WIN32API.INC" CallBack Function DlgProc As Long Select Case CbMsg Case %WM_INITDIALOG MsgBox Hex$(getWindowLong(CbHndl, %GWL_WNDPROC)),, Hex$(CodePtr(DlgProc)) End Select End Function Function PbMain Dim hDlg As Long Dialog New 0, "", , , 240, 120 To hDlg Dialog Show Modal hDlg Call DlgProc End Function
We process personal data about users of our site, through the use of cookies and other technologies, to deliver our services, and to analyze site activity. For additional details, refer to our Privacy Policy.
By clicking "I AGREE" below, you agree to our Privacy Policy and our personal data processing and cookie practices as described therein. You also acknowledge that this forum may be hosted outside your country and you consent to the collection, storage, and processing of your data in the country where this forum is hosted.
Comment