一种保持VC对话框布局的简便方法

来源:互联网 发布:ubuntu 安装mysql5.5 编辑:程序博客网 时间:2024/04/30 06:45

   在窗口可缩放的VC应用程序中,在缩放时保持窗口的布局很重要。网上有很多复杂的布局控制代码可供参考。有些代码很强大,但如果你的窗口只是个简单的对话框,也许可以试试本文的方法。这个方法够简单。

 别去管那些锚点、对齐之类的词汇了,强大的功能在某种程度上也意味着更多的代码。简单地记住当前的窗口布局,然后按比例缩放这些控件。这样的方法在很多应用中,效果也非常不错。

 本着更简单的精神,我没有定义一个基类来让你继承,也没有类让你使用,甚至没有写一个函数。我写了三个宏!


 
 FIX_LAYOUT_DATA宏,定义保存布局信息的成员变量;

 FIX_LAYOUT_INIT宏,获取窗口中当前的布局信息;

 FIX_LAYOUT_SIZE宏,在窗口大小发生变化时,调整各子窗口的位置和大小。

使用方法:

 在你的窗口定义类中加入FIX_LAYOUT_DATA宏。

 在窗口的初始化函数中加入FIX_LAYOUT_INIT宏。

 在窗口的ONSIZE响应函数中加入FIX_LAYOUT_SIZE宏。

说明:如果你的窗口在运行时,有些控件会发生变化,你也可以在变化发生后,重新调用FIX_LAYOUT_INIT宏,这样新的变化就会更新在布局信息数据中。

文章转自:http://blog.csdn.net/Slin000/archive/2010/02/05/5290684.aspx