MFC界面分屏操作

来源:互联网 发布:mac 安全模式 编辑:程序博客网 时间:2024/06/05 17:53

进一步美化页面啦

在MFC 框架中,为我们提供了一个csplitterwnd 类——拆分窗口类,提供分离窗口的功能。

在框架类 CMainFrame中,我们要添加一个csplitterwnd 类型的成员变量,

我们要重写框架类 CMainFrame 中的OnCreateClient 事件

下面就该添加代码了

复制代码
OOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext){    // TODO:  在此添加专用代码和/或调用基类    //静态创建窗口    m_spliter.CreateStatic(this, 1, 2);    //创建视图    m_spliter.CreateView(0, 0, RUNTIME_CLASS(), CSize(120, 700), pContext);    m_spliter.CreateView(0, 1, RUNTIME_CLASS(), CSize(150, 700), pContext);    //return CMDIFrameWnd::OnCreateClient(lpcs, pContext);    return true;}
复制代码

值得注意的是:我们在创建完视图之后,要将它原先 return 的界面视图注销掉,返回我们切分后的视图界面,我们也看到在 RUNTIME_CLASS 宏函数中我们的值是空的,这里就是要我们添加我们自己的MFC类

 

 我们就需要我们自定义的窗口视图了,我们可以先创建两个类,值得注意的是:我们创建的MFC 类它的基类,CFormView是对话框的形式,Cview是视图的形式

我们创建好之后,返回到我们的框架类 CMainFrame中,并找到我们刚刚重写的OnCreateClient函数,将我们新建的视图类 添加至RUNTIME_CLASS 宏函数的参数内

复制代码
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext){    // TODO:  在此添加专用代码和/或调用基类    //静态创建窗口    m_spliter.CreateStatic(this, 1, 2);    //创建视图    m_spliter.CreateView(0, 0, RUNTIME_CLASS(leftView), CSize(120, 700), pContext);    m_spliter.CreateView(0, 1, RUNTIME_CLASS(rightView), CSize(150, 700), pContext);    //return CMDIFrameWnd::OnCreateClient(lpcs, pContext);    return true;}
复制代码

最后一步,别忘了添加头文件哦

#include "leftView.h"#include "rightView.h"

运行一下,分屏效果就显示出来了

是不是很好玩。

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 二胡琴筒裂缝宽怎么办 有了月亮从四星宠满级的怎么办 党委下属没有党支部了党委怎么办 发生日期大于制单日期怎么办 美的空调出现p0怎么办 薯片受潮不脆了怎么办 泡过的莲子煮不烂怎么办 绿豆有煮不熟的怎么办 吃了羊肉吃西瓜怎么办 吃了狗肉和绿豆怎么办 做的衣柜没有门怎么办 蒸馒头熟了会瘪怎么办 3dmax贴图太大了怎么办 嘴皮边缘颜色深怎么办 嘴巴周围肤色暗沉怎么办 中奖彩票被洗了怎么办 牙龈下面长米粒肉疙瘩怎么办 书画印章盖反了怎么办 金龙鱼一个月不吃东西怎么办 罗汉鱼头撞扁了怎么办 房顶开槽埋线白色不一样怎么办 顶上灯挪位置线怎么办 马蜂窝弄掉又来怎么办 蜂窝弄掉又有怎么办 2018年小龙虾底板脏怎么办 一本分数线擦边过怎么办 玩具塑料球扁了怎么办 胶皮与海绵开了怎么办 安卓不支持flash了怎么办 看视频要加载flash怎么办 下水道管子铁皮破了怎么办 炸金花牌一样大怎么办 玩棋牌游戏输了怎么办 苹果7插耳机外放怎么办 出国种菠菜抓了怎么办 在菲做菠菜抓到怎么办 3串1中两个怎么办 微博账号封停怎么办 阴阳师账号被永久封停怎么办 寒刃2账号被禁用怎么办 输了好多钱我该怎么办