拆分窗口的同步更新
来源:互联网 发布:java finally 编辑:程序博客网 时间:2024/05/22 09:02
今天做了拆分窗口和窗口同步更新,以及视图和文档实现数据沟通的实验,问题多多、、、
实验的步骤是
1:在主窗口类中声明一个CSplitterWnd类的成员变m_splitterwnd
2:重载主窗口中继承cwnd的成员函数OnCreateClient
3:利用函数CreateStatic来重载OnCreateClient,最后记得因为是静态创建,所以还要调用Create函数来初始化各个窗口对象
以下是代码
先在文档类中定义一个成员变量m_string,在构造函数中初始化为
“shizhan”;
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs,CCreateContext* pContext )
{
m_splitterwnd.CreateStatic(this,2,2);
m_splitterwnd.CreateView(0, 0, RUNTIME_CLASS(CFirstView), CSize(0, 0),
pContext);
m_splitterwnd.CreateView(0, 1, RUNTIME_CLASS(CTwoView), CSize(0, 0),
pContext);
m_splitterwnd.CreateView(1, 0, RUNTIME_CLASS(CThreeView), CSize(0, 0),
pContext);
m_splitterwnd.CreateView(1, 1,RUNTIME_CLASS( CFourView), CSize(0, 0),
pContext);
return 1;
}
note:记住上面的RUNTIME_CLASS宏不能少掉,否则编译则无法通过
然后声明四个拆分窗口对象,在四个拆分窗口对象OnDraw初始化图像
CString b=((CspiltterwndDoc*)(pDoc))->m_string;
pDC->SetTextColor(RGB(0,46,80));
pDC->TextOut(20,20,b);
四个类的函数都是一致的。。。。
note:((CspiltterwndDoc*)(pDoc))这个转换当初少写个括号,老是转换不成功,以后要多多注意这种小问题。。
在.rc文件中修改菜单项,添加两个菜单子项first和two,用来更改各个拆分窗口的图像。。。
在first和two上添加事件处理程序。。。
代码如下
void CFirstView::Onfirst()
{
CspiltterwndDoc* pDoc=(CspiltterwndDoc*)GetDocument();
pDoc->m_string="first";
pDoc->UpdateAllViews(NULL);
// TODO: 在此添加命令处理程序代码
}
void CFirstView::Ontwo()
{
CspiltterwndDoc* pDoc=(CspiltterwndDoc*)GetDocument();
pDoc->m_string="two";
pDoc->UpdateAllViews(NULL);
// TODO: 在此添加命令处理程序代码
}
note:上面的文档和视图的关联是通过pContext参数由系统帮助我们实现的,如果我们想自己手动关联视图和文档,把pContext设置为空,然后重写每个view里面的OnInitalUpDate()函数。。。具体代码如下:
- 拆分窗口的同步更新
- MFC窗口的拆分
- MFC窗口的拆分
- 拆分窗口
- 窗口拆分
- 拆分窗口
- 窗口拆分
- 拆分窗口
- 拆分窗口
- 实现静态拆分窗口的问题
- 打破常规创建拆分窗口的方法
- Excel-拆分-与-窗口冻结-的使用
- MFC嵌套拆分窗口的实践总结
- 窗口拆分遇到不能运行的问题
- 龚建伟书中关于拆分窗口的代码分享
- MFC中单文档窗口的拆分
- 拆分窗口随主窗口的变换,保存比例变化
- CSplitterWnd窗口拆分后如何获得指定窗口的指针
- 流媒体在CDN分发之前架构设想
- 监控表
- U盘安装Ubuntu11.04单系统
- 可使用的电视台等网上地址(MMS、RTSP)——随时依情况修改
- Map以自定义类做为键值
- 拆分窗口的同步更新
- Servlet的生命周期,并说出Servlet和CGI的区别。
- _makepath和_makepath的使用案例
- play framework学习笔记之 framework ID
- 国楼市调控一周年透视:部分房价松动 整体格局僵持
- How To Create a Featured Product
- od 和 sed
- Gstreamer的一些基本概念与A/V同步分析(转载)
- [原创] Microsoft Word 2010 关闭不正常(提示:已停止工作,Windows正在检查该问题的解决方案。。) 问题的解决