MFC 窗口分割

先利用向导创建两个新的View,分别记为CView1和CView2

1、在MainFrame.h中   ,添加成员变量  CSplitterWnd m_Splitter;

2、在MainFrame.cpp中,添加CView1和CView2的头文件;

     添加Virtual  Function   : OnCreateClient()  :  添加

m_Splitter.CreateStatic(this,1, 2,WS_CHILD|WS_VISIBLE|WS_HSCROLL|WS_VSCROLL);
m_Splitter.CreateView(0,0,RUNTIME_CLASS(CView1), CSize(500, 150), pContext);
m_Splitter.CreateView(0,1,RUNTIME_CLASS(CView2), CSize(250, 150), pContext);


将return CFrameWndEx::OnCreateClient(lpcs, pContext);改成return TRUE;

若不换成return true;当程序运行后,移动窗口,分割条会消失

这样就将窗口一分为二了


出现的问题:

如果分割后,其中一个是工程自动生成的View,如

m_Splitter.CreateView(0,0,RUNTIME_CLASS(CView), CSize(500, 150), pContext);

那么会出现错误;

解决的方法:首先,添加CView的头文件;

                        其次,在CView的头文件前面添加 class  MyDoc;(MyDoc表示工程生成的Doc类)。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值