温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

手动创建CView视图

发布时间:2020-06-22 17:09:13 来源:网络 阅读:1060 作者:Chinayu2014 栏目:编程语言

通过VC2010向导创建一个标准的MFC单文档框架,去掉文档/视图结构支持。然后,在资源中插入一个FormView窗口,在MainFrame的Create中创建并显示此视图窗口。

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
		return -1;

	pView = (CMainView *)(RUNTIME_CLASS(CMainView)->CreateObject());
	if(!pView)
	{
		MessageBox(_T("创建视图不成功!"));
		return 0;
	}

	CRect crt;
	CCreateContext Cnt;
	GetClientRect(crt);
	Cnt.m_pCurrentDoc = NULL;//GetDocument();
	//创建新添加的视图,资源ID为:IDD_FORMVIEW
	pView->Create(NULL, NULL, AFX_WS_DEFAULT_VIEW, crt, this, IDD_FORMVIEW, &Cnt);
	pView->ShowWindow(SW_SHOWNORMAL);
	pView->MoveWindow(&crt); 
    
	//----------------------------------------------------------------------
	if (!m_wndStatusBar.Create(this))
	{
		TRACE0("未能创建状态栏\n");
		return -1;      // 未能创建
	}
	m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT));

	return 0;
}

手动创建CView视图
去掉视图窗口下凹风格,如下图:

BOOL CMainView::PreCreateWindow(CREATESTRUCT& cs)  
{  
    // TODO: 在此添加专用代码和/或调用基类  
    cs.style &= ~WS_BORDER; /* 去除视图凹陷效果 */  
    return CFormView::PreCreateWindow(cs);  
}

注意,修改MainFrame中的OnCmdMsg,OnSetFocus函数中的视图变量
手动创建CView视图

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI