魔改——MDI多视图模板Tab/标签页 初始化/操作控件
==================================声明==================================
本文原创,转载在正文中显要的注明作者和出处,并保证文章的完整性。
未经作者同意请勿修改(包括本声明),保留法律追究的权利。
未经作者同意请勿用于出版、印刷或学术引用。
本文不定期修正完善,为保证内容正确,建议移步原文处阅读。
本文链接:http://www.cnblogs.com/wlsandwho/p/4288818.html
=======================================================================
本来这篇不该是魔改,只是简单的对控件进行初始化和操作,但由于是基于前面文章的,所以索性就魔改开头了。
=======================================================================
基于前面TestMDIWLS工程
=======================================================================
给IDD_FORMVIEW1添加一个CListCtrl控件,ID为IDC_LIST1,关联变量m_ListCtrl。
在TestMDIWLS.h中声明
extern CView* gView[];
extern CView* gpDefaultView;
extern CFV1* gpFV1;
extern CFV2* gpFV2;
在TestMDIWLS.cpp中定义
CView* gView[];//
CView* gpDefaultView=NULL;
CFV1* gpFV1=NULL;
CFV2* gpFV2=NULL;
在CTestMDIWLSApp::OnFileNewWLS中
void CTestMDIWLSApp::OnFileNewWLS()
{
static BOOL bNew=FALSE; if (bNew==FALSE)
{
bNew=TRUE; CDocTemplate* pTemplate = NULL;
CDocument* pDoc=NULL;
int nIndex=; POSITION pos = GetFirstDocTemplatePosition();
while(pos)
{
pTemplate = GetNextDocTemplate(pos); ASSERT(pTemplate != NULL);
ASSERT_KINDOF(CDocTemplate, pTemplate); pDoc=pTemplate->OpenDocumentFile(NULL);
POSITION posView=pDoc->GetFirstViewPosition();
gView[nIndex++]=pDoc->GetNextView(posView);
}
} //获得视图指针,保存起来,以后可以像theApp一样方便使用。
gpDefaultView=(CTestMDIWLSView*)gView[];
gpFV1=((CFV1*)gView[]);
gpFV2=((CFV2*)gView[]); //添加自己的CFormView模板初始化代码
gpFV1->m_ListCtrl.InsertColumn(,TEXT("WLS"),LVCFMT_LEFT,);
}
这样就完成了。
如图:
=======================================================================
PS:
由于我例子中默认的视图页没有删除,所以一共添加了3个模板。
其中要注意的是位于位置0的模板,我用的是
CView* gpDefaultView;
没有使用CTestMDIWLSView*的类型。
所以如果只是想使用MDI的华丽Tab页(内盛CFormView)来显示数据,不使用序列化的话,还是把默认的模板屏蔽掉吧。
见随手小代码——C++基础——子类转父类转子类 (派生类转基类转派生类)http://www.cnblogs.com/wlsandwho/p/4288883.html
最新文章
- ASP.NET 对于文件的下载与上传
- [JSP]解决Maven创建项目失败
- [No000006]苏格拉底与失恋者的对话
- 算法设计 - LCS 最长公共子序列&;&;最长公共子串 &;&;LIS 最长递增子序列
- [转]bat中的特殊字符,以及需要在bat中当做字符如何处理
- Android内存机制分析1——了解Android堆和栈
- Oracle全表扫描
- 在Windows下用MingW 4.5.2编译OpenCV 2.3.0
- (转)union和union all的区别
- 关于Ajax技术中servlet末尾的输出流
- 我的Python成长之路---第一天---Python基础(1)---2015年12月26日(雾霾)
- Java虚拟机面试重点-------------内存分配和回收策略
- 设置TCP_USER_TIMEOUT参数来判断tcp连接是否断开
- Python入门之函数的介绍/定义/定义类型/函数调用/Return
- java序列化和反序列化中的serialVersionUID有啥用
- 自定义Wed框架
- ArcPy开发教程1-面向ArcGIS的Python语言基础
- SpringCloud实战2-Ribbon客户端负载均衡
- webpack.DefinePlugin
- Angular环境搭建