-2
我正在運行以下命令以在Windows中創建一個對話框。當我運行它,我得到了follwoing錯誤:在窗口中創建對話框
Error 1 error C2065: 'IDD_DLGFIRST' : undeclared identifier
下面是代碼:
HWND hWnd;
LRESULT CALLBACK DlgProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
DialogBox(hInstance, MAKEINTRESOURCE(IDD_DLGFIRST),
hWnd, reinterpret_cast<DLGPROC>(DlgProc));
return FALSE;
}
LRESULT CALLBACK DlgProc(HWND hWndDlg, UINT Msg, WPARAM wParam, LPARAM lParam)
{
switch(Msg)
{
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
switch(wParam)
{
case IDOK:
EndDialog(hWndDlg, 0);
return TRUE;
}
break;
}
return FALSE;
}
// ------------------- -------------------------------------------------- ------
我知道有資源文件,但我還沒有很好地理解。 有人可以幫我解決這個錯誤,請。
@ W.B,如你所說,我並不需要單獨的資源文件呢? – 2013-05-09 07:34:46
只是在resource.h中定義IDD_DLGFIRST? – 2013-05-09 07:35:10
@AaymanKhalid - 如果你已經有一個資源文件,那麼你不需要創建另一個。只需將'define IDD_DLGFIRST'添加到'resource.h'中,該文件包含在'.rc'和'.cpp'文件中。這是因爲每個資源都需要有它的數字標識符。所以當你只鍵入IDD_DLGFIRST而沒有定義它的含義時,編譯器不知道要獲取哪個資源。 – 2013-05-09 07:52:19