用的是vs2010开发平台,多文档对话框。 想在MainFrm.h的public中定义变量CChildFrame * m_subWindow。也#include "ChildFrm.h"。可是编译是老是出错:
1>f:\datamanager\datamanager\mainfrm.h(24): error C2146: 语法错误: 缺少“;”(在标识符“m_subWindow”的前面)
1>f:\datamanager\datamanager\mainfrm.h(24): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\datamanager\datamanager\mainfrm.h(24): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
而且, 如果把CChildFrame * m_subWindow 定义在 MainFrm.cpp中 则编译通过!!知道这个是不是vs2010的问题,求大侠提示!Visual Studio 2010ChildFrameMainFrame
1>f:\datamanager\datamanager\mainfrm.h(24): error C2146: 语法错误: 缺少“;”(在标识符“m_subWindow”的前面)
1>f:\datamanager\datamanager\mainfrm.h(24): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\datamanager\datamanager\mainfrm.h(24): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
而且, 如果把CChildFrame * m_subWindow 定义在 MainFrm.cpp中 则编译通过!!知道这个是不是vs2010的问题,求大侠提示!Visual Studio 2010ChildFrameMainFrame
m_subWindow =new CChildFrame();
m_subWindow->LoadFrame(IDD_FORMTESTONE,WS_MAXIMIZE | WS_OVERLAPPEDWINDOW,
this,&context);
m_subWindow->ShowWindow(SW_SHOWMAXIMIZED);
//设置主窗口标题
m_subWindow->SetWindowTextW(_T("338"));
m_subWindow->InitialUpdateFrame(NULL,true);
你是不是想完成初始化的时候让子文档以及主框架都最大化,然后修改主窗口标题这样的效果?
{
// TODO: Add your specialized code here and/or call the base class
nCmdShow = SW_MAXIMIZE;
CMDIChildWnd::ActivateFrame(nCmdShow);
}void CMainFrame::OnUpdateFrameTitle(BOOL bAddToTitle)
{
CMDIFrameWnd::OnUpdateFrameTitle(bAddToTitle);
// 设置窗体标题;
::SetWindowText(GetSafeHwnd() ,_T("测试标题"));
}CMainFrame::CMainFrame()
{
// TODO: add member initialization code here
m_bFirstOnSize=1;
}void CMainFrame::OnSize(UINT nType, int cx, int cy)
{
CMDIFrameWnd::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
if(m_bFirstOnSize) ShowWindow(SW_SHOWMAXIMIZED);
m_bFirstOnSize=FALSE;
}
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
// 设置窗体标题;
::SetWindowText(GetSafeHwnd() ,_T("测试标题"));
return 0;
}