首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > VSTS >

(MFC)Vs2010打造Visual Studio风格的停靠侧栏窗口(CDockablePane里嵌套FormView表单视图)

2013-02-19 
(MFC)Vs2010制作Visual Studio风格的停靠侧栏窗口(CDockablePane里嵌套FormView表单视图)新建两个文件,Sol

(MFC)Vs2010制作Visual Studio风格的停靠侧栏窗口(CDockablePane里嵌套FormView表单视图)


新建两个文件,SolutionWnd.h SolutionWnd.cpp

在资源窗口里新建一个FormView的Dialog,修改ID为IDD_FORMVIEW,建立一个与FormView相关联的的类, 利用类向导,添加一个名为CMfcFormView,选择基类为CFormView. 生成在SolutionWnd.h和SolutionWnd.cpp文件里。

SoulutionWnd.h

void CSolutionWnd::OnSize(UINT nType, int cx, int cy){CDockablePane::OnSize(nType, cx, cy);// TODO: 在此处添加消息处理程序代码if (GetSafeHwnd() == NULL){return;}if(m_pformView->GetSafeHwnd()!=NULL){CRect rect;GetClientRect(rect);m_pformView->SetWindowPos(NULL, rect.left, rect.top, rect.Width(), rect.Height(), SWP_NOACTIVATE | SWP_NOZORDER);}}


至此结束。。。回答一些疑问。

为什么要改写CMfcFormView的Create虚函数呢?

因为我们要用到这句函数。

m_pformView->Create(NULL, NULL, WS_CHILD|WS_VISIBLE, rect, this, 123, NULL);

调用到FormView::Create函数。由于FormView的Create函数是protected类型的.所以我们必须改写FormView::Create函数为Publc类型。虽然我们在Create函数里什么也没有做什么。如果不重写Create函数的话,那么会出现编译错误。



热点排行