以下是相关程序的片断: HWND hwnd;
WNDCLASS wndclass;

char lpszMenuName[]="Menu";
char lpszClassName[]="菜单";
char lpszTitle[]="My_Menu_Example"; wndclass.style=0;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName=lpszMenuName;//这一行有问题吗?
wndclass.lpszClassName=lpszClassName;我可以保证,资源文件 x.rc ,头文件 x.h都没有任何问题了.可是仍然没有出现菜单.请指教.非常感谢!

解决方案 »

  1.   

    Visual studio C++ 2005:
    wndclass.lpszMenuName = MAKEINTRESOURCE(IDC_YOURMENU);//像这样!IDC_YOURMENU 是你的菜单资源ID..设计菜单要在 资源视图内设计
      

  2.   

    恩~
    一定要记住将对话框的ID设置为:"IDC_YOURMENU"~~
    要不然就不能正确显示了`~~
      

  3.   

    VC向导标准做法用LPCTSTR进行强制类型转换.
    #define MAKEINTRESOURCEW(i) ((LPWSTR)((ULONG_PTR)((WORD)(i))))
    看了一下,都一样.
      

  4.   

    HWND hwnd;
    WNDCLASS wndclass;

    char lpszMenuName[]="Menu";
    char lpszClassName[]="菜单";
    char lpszTitle[]="My_Menu_Example"; wndclass.style=0;
    wndclass.lpfnWndProc=WndProc;
    wndclass.cbClsExtra=0;
    wndclass.cbWndExtra=0;
    wndclass.hInstance=hInstance;
    wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
    wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
    wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
    wndclass.lpszMenuName=MAKEINTRESOURCE(IDR_MENU);
    wndclass.lpszClassName=lpszClassName;