问题一:为什么我不能使用对话框资源?
我的一个win32工程里,本来没有用到DIALOG资源,Insert-Resource-Dialog-New,把IDD_DIALOG1改成IDD_TESTLRESULT CALLBACK Test(HWND, UINT, WPARAM, LPARAM);case IDM_TEST:
     DialogBox(hInst, (LPCTSTR)IDD_TEST, hWnd, (DLGPROC)Test);
     break;LRESULT CALLBACK Test(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
return TRUE; case WM_COMMAND:
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) 
{
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
break;
}
    return FALSE;
}
为什么我点菜单TEST不能弹出资源对话框?问题二:在我的一个win32工程里,还有一种情况,DialogBox(hInst, (LPCTSTR)IDD_DOWN, hwnd, (DLGPROC)Down);
就提示error C2065: 'IDD_DOWN' : undeclared identifier,
改成DialogBox(hInst, "IDD_DOWN", hwnd, (DLGPROC)Down);这样,编译器就不提示错误了,但是还是和上面一样,弹不出对话框?为什么?疑问三:新建一个win32工程,选典型的HELLO WORLD,编译一下工程,点菜单的Help-About弹出一个关于对话框。
小弟把资源里的IDD_ABOUTBOX改成IDD-TEST后再编译一下,为什么还是能正常弹出这个关于对话框?
case IDM_ABOUT:
DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
break;
这里还是这么写的啊?为什么不会出现找不到资源ID的错误呢?
还有我新加了一个IDD_TEST2对话框资源后,和问题一样的做法,为什么能正常弹出我的对话框资源呢?小弟使用对话框资源应该没错吧?

解决方案 »

  1.   

    你把OnAbout里的
    CAboutBox dlg;
    dlg.DoModal();
    替换成CTestDlg类,看看能显示吗,然后再调用Test试试
      

  2.   

    或者是不是没有#include "TestDlg.h"
      

  3.   


    IDD_TEST
    是什么东西资源ID吗???DialogBox(hInst, MAKEINTRESOURCE(IDD_TEST), hWnd, (DLGPROC)Test);
      

  4.   

    IDD_DOWN是什么,还是资源ID,是不??方法同上,
    error C2065: 'IDD_DOWN' : undeclared identifier,
    那时你要加上
    #include "resource.h"
      

  5.   

    晕,小弟粗心大意了...谢谢handsomerun(毛毛)大哥了...