3.8如何编程来改变视图的大小和位置?

来源:互联网 发布:mac怎么取消开机启动 编辑:程序博客网 时间:2024/04/29 23:08

      你可能已经发现了,对一个视图对象调用MoveWindow()或SetWindowPos()是不起作用的。因为“视图”窗口不是一个独立的窗口,而是框架窗口的一个子窗口。该框架窗口或许是SDI模型中的主应用程序窗口,或许是MDI模型中的MDI子窗口。

      要移动或者改变视图的大小时,实际上,必须移动或改变视图父框架窗口的大小。当父框架窗口移动或改变大小时,将导致其子视图窗口跟随者移动或改变大小。

      如果有一个指针指向要移动或改变大小的视图,那么通过调用GetParentFrame()函数,可以得到与其关联的父框架窗口的指针。利用后面这个指针调用MoveWindow()或SetWindowPos()将移动或改变父框架窗口的大小到预想的状态。并且内嵌的视图也将跟随者改变。

      下面的示例代码,它把当前的视图(实际上是父框架窗口)移动到主应用程序窗口的右上角。当用户选择一个菜单命令或单击工具栏上的按钮时,调用该函数。

 

附加注释:

要根据自己的特殊要求来决定把视图移动到什么地方?上面的程序清单简单的选择了根据视图框架窗口相对于主应用程序窗口的客户区的位置和大小。

原创粉丝点击