手动创建CView视图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手动创建CView视图相关的知识,希望对你有一定的参考价值。

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

CView *pView = (CMainView *)(RUNTIME_CLASS(CMainView)->CreateObject());  
if(!pView)  
{  
    MessageBox(_T("创建视图不成功!"));  
    return 0;  
}  
  
CRect crt;  
CCreateContext Cnt;  
GetClientRect(crt);  
Cnt.m_pCurrentDoc = NULL;//GetDocument();  
pView->Create(NULL, NULL, AFX_WS_DEFAULT_VIEW, crt, this, IDD_FORMVIEW, &Cnt);  
pView->ShowWindow(SW_SHOWNORMAL);  
pView->MoveWindow(&crt);

技术分享
去掉视图窗口下凹风格,如下图:

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

注意,修改MainFrame中的OnCmdMsg,OnSetFocus函数中的变量

以上是关于手动创建CView视图的主要内容,如果未能解决你的问题,请参考以下文章

MFC CView 进入 CDockablePane

MFC:调用 CView::OnInitalUpdate() 后调用哪个 CFrameWnd 函数?

为 Laravel 集体表单创建手动提交按钮

如何在保持文档打开的同时关闭 MFC CVIEW

在选择的底部导航视图项目上重新创建片段

片段中的按钮自定义视图