3.35如何编程改变 某个分割器窗口内 面板 的大小?
来源:互联网 发布:树形图软件 编辑:程序博客网 时间:2024/05/01 08:44
就像希望 编程 改变 应用程序中某些视图 的大小一样,你可能也希望编程改变某些 分割器窗口内 面板的大小。然而,调用MoveWindow()或SetWindowPos()函数不能实现该目的。必须使用 不同的方法 来处理分割器窗口内的面板。如果打算实现一个改变分割器窗口内内面板大小的函数,遵循下面的步骤:
第1步:首先,执行一个稳健检查---相信我,我做了好大的努力才学会这种方法!从关联的C++对象中检索 分割器窗口 的处理,并检查该处理是否有效:
HWND hWnd=m_wndSplitter.GetSafeHwnd();
if( hWnd==NULL || !::IsWindow(hWnd) ) return;
第2步:调用GetColumnInfo()或GetRowInfo()得到 分割器窗口内 每个面板 包括的视图的当前尺寸,在每个GetXXXInfo()函数调用后,调用相应的SetXXXInfo()函数(SetColumnInfo()或SetRowInfo())来改变每个面板的大小:
第3步:当设置了分割器内包括的所有面板的大小时,调用RecalcLayout()告诉分割器自我更新。m_wndSplitter.RecalcLayout();
第4步:在子框架窗口内的WM_SIZE消息响应函数内调用OnResizeSplitters()函数。
附加注释:不要忘记稳健检查,它可防止可能出现的异常事件,因为在分割器本身创建之前,Windows在框架窗口的创建过程中发送WM_SIZE消息。因为每当父窗口检索到WM_SIZE消息时,我们的代码就视图改变分割器窗口的大小。所以,我们必须保护这种情况,而且无论如何它是一种很好的防御性编程技术。
- 3.35如何编程改变 某个分割器窗口内 面板 的大小?
- 改变分割窗口拖动条的大小
- 3.33如何编写一个具有 水平和垂直 静态分割器面板(三线分割) 的窗口?
- 【CSplitterWnd技巧一】改变分割窗口拖动条的大小
- 【CSplitterWnd技巧一】改变分割窗口拖动条的大小
- MFC分割窗口防止用户改变窗格的大小
- 3.36如何向用户显示 分割器面板内 的 视图 哪一个是活动的?
- SHBrowseForFolder如何改变弹出窗口的大小
- 使用vim分割窗口时如何改变窗口的尺寸
- 使用vim分割窗口时如何改变窗口的尺寸
- FXML如何设定窗口与内面板的最大化
- 使分割窗口不能改变大小
- 3.38如何动态的切换在分割器窗口内显示的视图?
- 3.12-如何使框架窗口的大小不可改变?
- 3.12如何使 框架窗口 的大小不可改变?
- vim 改变窗口的大小
- 禁止改变窗口的大小
- vim改变窗口的大小
- c#中的Json的序列化和反序列化
- thttpd
- 多重继承和接口
- 测试驱动开发
- 冲突管理
- 3.35如何编程改变 某个分割器窗口内 面板 的大小?
- 3 将毫秒数换转成日期类型
- 必须熟练使用调试功能啊
- 程序员怎么样保证自己的程序没有BUG
- [操作指南] 2、如何正确的设置用户的权限
- 僧?道?水生!水稻!
- 再读《丰田精益模式》
- S3C4510上嵌入式Web服务器-boa在uclinux下的的移植
- asp.net操作xml小结