Hello, I have a dialog box designed in Visual C++ 2010 SP1 resource editor and its id is IDD_DIALOG4. When I try to create it using DialogBox() API, the function returns -1 and GetLastError() returns 0. Note: WM_INITDIALOG is not being called.
Can anybody help me?
// main.cpp
Code:void showDlg(HINSTANCE hInstance, HWND hwndParent) { int dlgRet = DialogBoxA( hInstance, MAKEINTRESOURCE(IDD_DIALOG4), hwndParent, (DLGPROC)MyDlgProc ); if(dlgRet==-1) { msgbox("error on creating dlg: %08X", GetLastError()); return; } } // Dialog procedure LRESULT CALLBACK MyDlgProc( HWND hWndDlg, UINT Msg, WPARAM wParam, LPARAM lParam ) { switch( Msg ) { case WM_INITDIALOG: msgbox("WM_INITDIALOG"); return TRUE; break; case WM_COMMAND: switch( wParam ) { case IDC_BUTTON_COPY: msgbox("IDC_BUTTON_COPY"); return TRUE; break; case IDCANCEL: // close EndDialog( hWndDlg, 0 ); return TRUE; break; } return TRUE; break; case WM_CLOSE: EndDialog( hWndDlg, 0 ); return TRUE; break; default: return FALSE; } }
// main.rc
Code:IDD_DIALOG4 DIALOGEX 0, 0, 317, 151 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Result" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN PUSHBUTTON "Close",IDCANCEL,260,130,50,14 LTEXT "Text1:",IDC_STATIC1,15,16,69,8 LTEXT "Text2",IDC_STATIC_SIGN_TEXTSTYLE,92,17,62,8 PUSHBUTTON "Copy to clipboard",IDC_BUTTON_COPY,7,54,69,9 CONTROL "<a>SysLink2</a>",IDC_SYSLINK2,"SysLink",WS_TABSTOP,90,37,60,14 CONTROL "",IDC_RICHEDIT_CODESTYLEWITHFP,"RichEdit20A",ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_NOHIDESEL | WS_BORDER | WS_TABSTOP,7,65,303,59 END


Reply With Quote

Bookmarks