1.不是隐藏菜单,是删掉菜单资源(VC2008)2.在VC2008中,用向导生成的代码过于臃肿了,于是就决心进行删减,现在只剩下这个IDR_MAINFRAME的菜单资源了
只要删掉,一定会debug assert failed,只能运行到下面这个函数
BOOL CWnd::ShowWindow(int nCmdShow)
{
ASSERT(::IsWindow(m_hWnd) || (m_pCtrlSite != NULL)); if (m_pCtrlSite == NULL)
return ::ShowWindow(m_hWnd, nCmdShow);
else
return m_pCtrlSite->ShowWindow(nCmdShow);
}3.三个类
class CChildView : public CWnd
class CMainFrame : public CFrameWndEx
class CMyApp : public CWinAppEx4.编号为IDR_MAINFRAME的默认资源有三个,menu icon和string
BOOL CMyApp::InitInstance()中,有一句
pFrame->LoadFrame(IDR_MAINFRAME,WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, NULL,NULL);5.请各位大佬支招,谢谢!
只要删掉,一定会debug assert failed,只能运行到下面这个函数
BOOL CWnd::ShowWindow(int nCmdShow)
{
ASSERT(::IsWindow(m_hWnd) || (m_pCtrlSite != NULL)); if (m_pCtrlSite == NULL)
return ::ShowWindow(m_hWnd, nCmdShow);
else
return m_pCtrlSite->ShowWindow(nCmdShow);
}3.三个类
class CChildView : public CWnd
class CMainFrame : public CFrameWndEx
class CMyApp : public CWinAppEx4.编号为IDR_MAINFRAME的默认资源有三个,menu icon和string
BOOL CMyApp::InitInstance()中,有一句
pFrame->LoadFrame(IDR_MAINFRAME,WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, NULL,NULL);5.请各位大佬支招,谢谢!
1 定义窗口类,填充如下的结构体,其中hIcon,hCursor,都是必须的,否则窗口注册就会失败
typedef struct _WNDCLASS {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
} WNDCLASS, *PWNDCLASS;
2 调用RegisterWindow注册窗口类
3 调用CreateWindow创建窗口
4 显示窗口
5 更新窗口
你打开资源文件看看IDR_MAINFRAME和菜单,图标,位图都有关联,如果你把它删了,程序就没有资源了
不出错才怪呢
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1; //去掉窗口的主菜单和标题栏
this->SetMenu(NULL);
ModifyStyle(WS_CAPTION, 0, SWP_DRAWFRAME);
return 0;
}
要是谁有办法,我送他200分
5 11 12楼回帖前好歹看看问题啊
http://support.microsoft.com/kb/131368
机器翻译很烂,看英文的吧