ScreenToClient

BOOL ScreenToClient(HWND hWnd,        // handle to window
  LPPOINT lpPoint   // screen coordinates
);

该函数把屏幕上指定点的屏幕坐标转换成用户坐标。所谓用户坐标即hwnd窗口的相对坐标

ClientToScreen  于上相反

GetWindowRect() 得到的是在屏幕坐标系下的RECT;(即以屏幕左上角为原点) 
GetClientRect() 得到的是在客户区坐标系下的RECT; (即以所在窗口左上角为原点)

GetWindowRect()取的是整个窗口的矩形; 
GetClientRect()取的仅是客户区的矩形,也就是说不包括标题栏,外框等;

第一个函数获得的是窗口在屏幕上的位置,得到的结果可能是这样CRect(10,10,240,240); 
第二个函数和它不同,它只获得了客户区的大小,因此得到的结果总是这样CRect(0,0,width,height);

ScreenToClient() 就是把屏幕坐标系下的RECT坐标转换为客户区坐标系下的RECT坐标。

虽然存在调用GetWindowRect后再调用ScreenToClient==GetClientRect,但ScreenToClient()和ClientToScreen()两者都是属于WINDOWS API函数,可能是存在一定的冗余设计,但意义不同。
不过在.Net Framework下对WINDOWS API函数进行了重新整理和优化,在获取控件或窗口的屏幕坐标和客户区坐标时更方便的多,只需要得到与控件或窗口相对应屏幕坐标和客户区坐标属性值就可以了。

ClientToScreen ScreenToClient GetWindowRect GetClientRect相关推荐

  1. ClientToScreen ScreenToClient MoveWindow

    RECT rect;//LEFT,TOP,RIGHT,BOTTOM 1.ClientToScreen GetDlgItem(IDOK)->GetClientRect(&rect);//获 ...

  2. 易语言-API 取窗口或者组件句柄的 屏幕坐标并限制区域 GetWindowRect ClipCursor getwindowrect GetClientRect WindowFromPoint

    .版本 2 .DLL命令 ClipCursor_, 整数型, "user32", "ClipCursor", , 将指针限制到指定区域.ClipCursorBy ...

  3. CRECT,RECT区别GetWindowRect GetClientRect

    RECT是一个结构体,CRect是一个MFC类,它从RECT继承,该类实现了许多函数用来操作RECT GetWindowRect是一个Windows API函数.该函数返回指定窗口的边框矩形的大小,函 ...

  4. GetWindowRect GetClientRect

    https://www.cnblogs.com/wb-DarkHorse/archive/2013/07/08/3178201.html https://blog.csdn.net/ljh060030 ...

  5. www.53ff.com劫持IE,广告网页图标常驻桌面,删了又来

    一.网友求助 一位网友本来是想下载一个软件,谁知道下载回来的竟然是流氓软件. 这个流氓软件不仅替换了图面上的IE浏览器图标,将首页篡改为hxxp://www.53ff.com/?hho,在Intern ...

  6. mfc控件位置调整和坐标确定 .

    在mfc工程中控件或者窗口位置的调整是经常遇到的,特别是基于对话框的工程.位置的调整包括坐标.长度和宽度的变化,一般在窗口类的OnSize函数中实现.控件位置的调整涉及的函数有:GetWindowRe ...

  7. Setting the Background Image for a List Control

    1.新建一个对话框工程,在对话框中添加一个list控件,ID:IDC_LIST1.打开MFC ClassWizard,点击Add Class按钮添加新类CListNew,Base class:CLis ...

  8. Window核心编程

    Window核心编程 第一章:错误处理 FormatMessage/LocalLock\LocalFree 第二章: TEXT("..") TCHAR(CHAR,WCHAR)  安 ...

  9. 可视化:Windows图形设备接口及绘图

    Windows图形设备接口(GDI) 图形设备接口(GDI)是为与设备无关的图形设计的. win系统提供了应用程序与具体设备分离的功能,由os将应用程序的图形输入转变为设备的输出.GUI的设备无关性是 ...

  10. GetClientRect相当于GetWindowRect和ScreenToClient区别

    From: http://www.cnblogs.com/yongtaiyu/archive/2011/05/18/2049554.html GetWindowRect是取得窗口在屏幕坐标系下的REC ...

最新文章

  1. [改善Java代码]用整数类型处理货币
  2. GitHub宝藏项目标星1.6w+,编程新手有福了
  3. 计算机IP地址与子网掩码如何进行AND运算
  4. 微信jsapi支付获取code_微信支付(公众号支付JSAPI)
  5. awk rand函数问题
  6. java.lang.NoSuchMethodError
  7. 人员梯度培养_干部梯队培养方案
  8. java %3c%=a%%3e_跪求帮忙解析,急!!!
  9. 从Exchange 通往Office 365系列(十二)发布Outlook Anywhere
  10. 【Elasticsearch】极限网关 INFINI Gateway 初体验
  11. vue从入门到进阶:Class 与 Style 绑定(四)
  12. goEasy的简单使用
  13. 疫情在家办公,向日葵突然卡死,无法远程电脑的解决办法(局域网远程强制重启windows)
  14. ERP应用优势和劣势有哪些
  15. 脉聊社交网站源码类似微博的社交源码 模板UI非常漂亮自适应手机版 重点是有原生APP
  16. 图像特效---LOMO Filter
  17. B/S系统界面设计与开发详解
  18. SolidWorks-旋转凸台的使用
  19. 超火爆的人类一败涂地Human Fall Flat Mac中文版(支持m1)
  20. java基础代码,适合0基础学习者

热门文章

  1. SpringBoot工作原理
  2. 5-0 51单片机流水灯
  3. 赞!7000 字学习笔记,MySQL 从入到放弃
  4. C++实现堆排序算法
  5. 计算机应用程序设计师,2018年上半年软件设计师真题+答案解析上午选择+下午案例完整版(全国计算机软考).pdf...
  6. 史上最全的Android基础教程+入门实战训练+处理技巧(建议收藏)|寻找C站宝藏
  7. 在群晖(Synology) 中运行115网盘Linux版(docker)
  8. 二自由度云台扫描算法_基于二维压电透射式微扫描器的红外超分辨率成像|压电扫描台...
  9. C 语言之父,UNIX 系统之父 Dennis Ritchie (丹尼斯 里奇)于 10 月 9 日去世,享年 70 岁
  10. 迈普光彩分享 几个细节教你搭建好LED显示屏舞台