父对话框的整个窗口区=父对话框客户区+父对话框标题栏区

1. GetWindowRect()获取的是以屏幕左上角为(0,0)点的窗口区域,是屏幕坐标系。

①  如果对父对话框调用GetWindowRect(),那么获取的矩形为父窗口在屏幕中的区域,其中矩形区含标题栏以及外边框。

②  如果对控件调用GetWindowRect(),那么获取的矩形是控件在屏幕中的区域。

注意在对话框的OnInitDialog()函数中,由于对话框尚未显示,所以默认对话框左上角位于屏幕左上角。即此时调用GetWindowRect()获取的对话框区域左上角为(0,0)。

2. GetClentRect()获取的是自身客户区,其左上角以自身客户区的左上角为(0,0)。

①   如果对父对话框调用GetClentRect (),那么获取的矩形为(0,0,客户区宽, ,客户区高),不含标题栏及边框。

②  如果对控件调用GetClentRect (),那么获取的矩形是控件自身大小,控件不含标题栏。

3.ScreenToClient() 用于将屏幕坐标系转换为自身的客户区坐标系。若父窗口调用该函数,那么传入的矩形就会转换为父窗口的客户区坐标系;若控件调用该函数,那么传入的矩形就会转换为控件的客户区坐标系。

4.ClientToScreen() 用于将自身的客户区坐标系转换为屏幕坐标系。

5.MoveWindow()用于改变指定窗口的位置和大小。对父窗口来说,原点位于屏幕的左上角;对子窗口来说,原点位于父窗口客户区的左上角。对于Owned窗口,原点位于屏幕左上角。

窗口的位置:GetWindowRect与MoveWindow等相关推荐

  1. MOVEWINDOW改变指定窗口的位置和大小

    MoveWindow VB声明 Declare Function MoveWindow Lib "user32" Alias "MoveWindow" (ByV ...

  2. 设置WPF窗口相对于非WPF窗口的位置

    在前一个Post当中,指出了在WPF的WindowInteropHelper类中的一个BUG:通过WindowInteropHelper的Owner属性不能实现把WPF窗口的Owner属性设置为一个非 ...

  3. 原生js--兼容获取窗口滚动条位置和窗口大小的方法

    各个浏览器对获取获取窗口滚动条位置和窗口大小没有提供统一的API,以下是对其封装,解决兼容性问题 /**  * 获取浏览器视口的大小(显示文档的部分)  *  */ function getViewP ...

  4. java按钮位置_java窗口按钮位置设置

    java窗口按钮位置设置 代码如下: package Day08; import java.awt.BorderLayout; import javax.swing.JButton; import j ...

  5. C#指定窗口显示位置的方法

    小哥哥小姐姐觉得有用点个赞呗! C#指定窗口显示位置的方法 1.使用StartPosition MainForm mainform; mainform=new MainForm (); dlgCtrl ...

  6. qt将光标相对于桌面的位置转换为相对于窗口的位置

    提要 鼠标光标获取的位置cursor().pos()是相对于整个屏幕坐标的,鼠标进入窗口的范围内,判断光标是否在窗口中某控件的范围内,就需先将相对于整个电脑屏幕的鼠标位置,转换为相对于当前程序的窗口的 ...

  7. QT开发_弹出窗口禁用父窗口并移动到父窗口中心位置

    在开发中我们可能会增加一些动画效果,如弹出子窗口时父窗口不可操作 我们可以在弹出子窗口的构造函数里添加如下代码: setWindowModality(Qt::ApplicationModal); 这条 ...

  8. VC/MFC拖动窗口任意位置移动窗口

    除了拖动标题栏移动窗口以外,我们也可以拖动窗口任意位置(除控件)位置而使对话框移动. 这里只讲述基于对话框的程序 class c**dlg:public CDialog { //Constructio ...

  9. QT:设置子窗口显示在父窗口的位置(绝对坐标)

    QT:设置子窗口显示在父窗口的位置(绝对坐标) 故事背景:最近需要在父窗体修改按钮上弹出二次确认框,之前要么使用 QDesktopWidget,要么使用QCursor,来设置弹窗位置,但是这两种方式不 ...

最新文章

  1. 如何让图片开口说话 3DMeNow教程
  2. HDU 2586 How far away ? LCA ---tanjar+并查集 离线算法
  3. Qt中的 Size Hints 和 Size Policies
  4. 生态伙伴 | Canva上线飞书应用目录,帮你零门槛轻松做出大师级设计!
  5. socket通信入门
  6. 前端开发规范文档(html,css,js)
  7. dos 改某个目录下所有文件的时间_go语言入门学习笔记(2)-DOS操作及go语言变量学习...
  8. MySQL 修改用户
  9. leetcode 700 二叉搜索树的搜索
  10. 用html代码实现做题记分,html解析cricinfo记分卡
  11. 3.windows图形界面
  12. Matpower疑惑解答
  13. Python 对称矩阵顺时针旋转90度
  14. InterviewQuestion
  15. Ceph学习——Librados与Osdc实现源码解析
  16. ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接
  17. 情感日记:东部华侨城
  18. 服务器装sata硬盘,服务器有sata硬盘吗
  19. 华为路由器登录方式设置
  20. 【java】简单练习-打印斜坡

热门文章

  1. InnoDB: mmap(137363456 bytes) failed; errno 12 解决mysql缓存溢出的问题
  2. IE浏览器 对象不支持replaceAll属性或方法
  3. 编译技术:正规式、NFA、DFA、最简DFA的转换
  4. 大连理工大学2021最优化方法大作业(3)
  5. Android 相机 LED 做手电筒
  6. 为什么列式存储会被广泛用在 OLAP 中?
  7. html表格第一列长度,表格table列宽度控制colgroup
  8. winform控件之maskedTextBox
  9. oracle用户对表空间没权限,ORA-01950:对表空间'XXX'无权限
  10. dos运行mu linux,MU 文件扩展名: 它是什么以及如何打开它?