因此,这是我的代码(为简单起见,我将其全部放入一个文件中):
#include <afxwin.h>
#include "resource.h"
class CMainWnd : public CFrameWnd
{
};
class CApp : public CWinApp
{
public:
virtual BOOL InitInstance()
{
CMainWnd* wnd = new CMainWnd();
if (!wnd->Create(0, _T("test"))) return FALSE;
m_pMainWnd = wnd;
wnd->ShowWindow(SW_SHOW);
wnd->UpdateWindow();
return TRUE;
}
};
CApp app;
它使用默认参数和标题“test”创建简单的窗口。完美运行。但是,我想从资源中加载我的窗口,所以我可以给它一些东西。我替换:
if (!wnd->Create(0, _T("test"))) return FALSE;
和
if (!wnd->LoadFrame(IDD_CLIENTWINDOW)) return FALSE;
(IDD_CLIENTWINDOW
是我在资源中的对话的 ID)。LoadFrame 返回 FALSE,程序退出。输出中有调试消息:
Warning: failed to load menu for CFrameWnd.
IDD_CLIENTWINDOW
但是我创建的对话框中没有菜单。如何正确加载框架?我错过了什么?