-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