单文档拆分的子窗口大小固定


MFC单文档视图利用CSplitterWnd类实现窗口的拆分,但是直接生成的子窗口的区域边框可通过鼠标拖动来改变大小,这在很多应用场合下是不允许的,

为了不可改变子窗口的大小,需要重载 CSplitterWnd类的OnLButtonDown和OnMouseMove函数,为此需要利用CSplitterWnd类的派生类重载函数。


从CSplitterWnd派生自己的类CMySplitterWnd,然后重载函数

void CMySplitterWnd::OnLButtonDown(UINT nFlags, CPoint point)
{
  //CSplitterWnd::OnLButtonDown(nFlags, point);    //什么也不做
}

void CMySplitterWnd::OnMouseMove(UINT nFlags, CPoint point)
{
  //CSplitterWnd::OnMouseMove(nFlags, point);    //什么也不做
}


派生类的方法:

先利用Class Wizard,从CWnd,派生CMySplitterWnd类,然后在相应的 .h和.cpp文件中,将CWnd替换为 CSplitterWnd即可。



  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MFC(Microsoft Foundation Class)是微软提供的一种C++类库,用于快速开发Windows界面应用程序。其中的拆分窗口可以有效地将窗口分割成多个窗口,方便用户在一个窗口中同时显示多个视图或控件。 动态拆分示例是指在程序运行时根据用户的操作或其他条件来动态地改变拆分窗口的布局。以一个简的文本编辑器为例,用户可能希望在编辑文本的同时查看另一部分文档内容。在这种情况下,可以使用动态拆分窗口来实现在编辑区域和预览区域的同时显示。 在MFC中,可以使用拆分窗口类(CSplitterWnd)来实现动态拆分窗口。通过在代码中响应用户的操作或其他条件的变化,可以动态地改变拆分窗口的布局。比如,可以通过捕获用户的鼠标事件来改变拆分窗口的大小和位置,或者根据用户的选择来动态地增加或减少窗口的数量。 动态拆分窗口的实现需要一定的编程经验和理解MFC的相关知识。在使用MFC的拆分窗口进行动态拆分时,需要根据具体的需求和UI设计来选择合适的拆分方式和布局。同时,为了提高用户体验,还需要注意在动态改变拆分窗口布局时保持界面的流畅和稳定。 总之,MFC的拆分窗口提供了丰富的功能和灵活的布局方式,可以通过动态拆分实现更加灵活和复杂的界面布局。通过合理的设计和实现,动态拆分窗口可以为用户提供更加便捷和高效的操作体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值