中分割窗口后如何限制分割条移动范围物业
做一个项目,把一个单文档的窗口分割成左右两列,同时还需要设置左边窗口的最小尺寸。
找了很多资料,都是针对对话框或者文档的,试了OnSizing和GetMinMaxInfo,结果对分割窗口无效。后来看到分割窗口的例子有锁定分割条的代码,跟同事讨论了一下,来了灵感。下面是解决办法,其实很简单的,可能以前有人做过吧,不过我在上没有搜索到,所以把我的做法写出来跟大家分享。
一、新建一个类CMySplitter,基类为CSplitterWnd
二、重载该类的OnMouseMove函数:
void CMySplitter::OnMouseMove(UINT nFlags, CPoint point) { // 限制切分条的运动范围。 if(point.x228||point.x600) { CWnd::OnMouseMove(nFlags, point); } else { CSplitterWnd::OnMouseMove(nFlags, point); } }
三、 然后就可以跟一般的窗口分割那样去做了,if(point.x228||point.x600)这里的范围可以随你去设置了,够简单吧。
四、切分窗口
相关连接:翟若愚在大唐集团公司党建、人才、思想政治工作会议上的讲话 切分窗口就不用讲那么详细了,在MaiFram.h建立切分条对象:
protected: CMySplitter m_wndSplitter; //切分窗口对象 //在p中实现窗口切分: BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,CCreateContext* pContext) { // 创建拆分器窗口 if (!m_eateStatic(this, 1, 2)) return FALSE; if (!m_eateView(0, 0, RUNTIME_CLASS(CLeftView), CSize(228, 100), pContext) || !m_eateView(0, 1, RUNTIME_CLASS(CDataEditView), CSize(100, 100), pContext)) { m_stroyWindow(); return FALSE; } return TRUE; }
查看本文来源
成都癫痫病医院拉萨包皮过长治疗多少钱
宝宝积食怎么调理脾胃
- 熬小米粥,这样一来放水煮是大错,做好5关键,香浓黏稠,有厚厚米油
- 放射科检查室冬天为什么那么冷?
- 归属江西却说吴语,江西宜春与浙江有何渊源?
- 茄子无论蒸或炒,都不能直接下锅!多花钱1步,不发黑,鲜嫩又入味
- 到群众最所需的地方去
- 徐超群:欧冠利物浦就让可能平局或赢一个,埃梅里是杯赛之王
- 益康耳穴:痤疮究竟是什么造成的?孩子的青春痘还有没有救?
- 投资者提问:董秘您好:特斯拉人形机器人是否会运用NPL专精术?贵司在NPL专精...
- LDK+多功能宅,85㎡奶油风、清新、原木、多功能
- 莱斯克:光喊口号没表现是没用的,其他球队想夺冠也要靠拜仁丢分
- 投资者提问:请问公司有没有在东南亚建厂的决意,从而提高出口的竞争力。谢谢。
- 显卡真的便宜!但买了矿卡的概率超高,电脑整机买了不得