动态创建视图窗口
2016-01-14 11:21
447 查看
总结了几个步骤,只要根据这几个步骤来创建就会很简单。具体步骤如下:
(1)定义一个视图窗口对象,调用Create方法创建视图窗口。
(2)调用视图窗口的OnInitialUpdate方法初始化更新视图。
(3)调用视图窗口的SetDlgCtrlID方法设置视图窗口在框架中的ID。
(4)调用框架类的GetActiveView方法获取当前的视图窗口,将其隐藏。
(5)调用框架类的SetActiveView方法设置新的活动视图窗口。
(6)显示新的视图窗口,调用框架类的RecalLayout方法重新排列客户区域。
自己定义一个基于View的类CBookInfo
(1)定义一个视图窗口对象,调用Create方法创建视图窗口。
(2)调用视图窗口的OnInitialUpdate方法初始化更新视图。
(3)调用视图窗口的SetDlgCtrlID方法设置视图窗口在框架中的ID。
(4)调用框架类的GetActiveView方法获取当前的视图窗口,将其隐藏。
(5)调用框架类的SetActiveView方法设置新的活动视图窗口。
(6)显示新的视图窗口,调用框架类的RecalLayout方法重新排列客户区域。
自己定义一个基于View的类CBookInfo
{ //定义视图对象 CView* pView = (CView*) new CBookInfo; //获取当前活动视图 CView* pOldView = GetActiveView(); CCreateContext context; context.m_pCurrentDoc = GetActiveDocument(); //创建视图窗口 pView->Create(NULL,NULL,WS_CHILD,CFrameWnd::rectDefault,this, 123,&context); pView->OnInitialUpdate(); //设置视图ID pView->SetDlgCtrlID(AFX_IDW_PANE_FIRST); //设置活动视图 SetActiveView(pView); //隐藏原来的活动视图 pOldView->ShowWindow(SW_HIDE); //显示当前活动的视图 pView->ShowWindow(SW_SHOW); //更新框架区域 RecalcLayout(); }
相关文章推荐
- 输入框一些校验的小技巧合计
- ORACLE 数据库函数使用
- [转]HTTP头的Expires与Cache-control
- 在sublime中写注释的规范
- ios 单独集成qq和微信分享sdk的方法
- Gear Up Cloud - Autodesk ADN 开发者会议小结 - 1
- TQ2440裸机实验(复制nand flash 前4K到SDRAM)
- ffmep
- VS 解决方案平台和解决方案配置
- 深入浅出 Makefile 简单实现
- 徐汉彬:Web系统大规模并发——电商秒杀与抢购
- C#源代码—三角形面积、圆的面积
- Note: An exception occurred while getting the Javadoc. (file not on classpath)
- android调试时apk可运行,导出签名的apk后闪退,报找不到class
- CodeForces 461A Appleman and Toastman
- Linux时间子系统之七:定时器的应用--msleep(),hrtimer_nanosleep()【转】
- base64编码的图片字节流存入html页面中的显示
- excel 应用,右下角的小十字拖拽的时候形成递减的数列
- Java TCPIP 编程 那些事 ServerSocket (一)
- TQ2440裸机实验(键盘和LED结合)