

码龄10年
暂无认证
34112访问
1
等级
8获赞
3
评论
热门文章
-
一.某岛之人物对象及其加密函数解析
2147
-
一.《传奇M》装备栏遍历的突破口
1789
-
二.某龙端游中LUA的分析和调用
1539
-
一.《轩辕传奇》周围遍历之二叉树
1385
-
一.《UE4奥丁》人物最大属性
1330
最新评论
-
20240228阿⑤
积分乍获得
-
20231124ziher
666
-
20230909八月老师
什麼時候發佈易語言支持庫呢
一.窗口坐标与屏幕坐标
Heart
2023-04-25 09:20:14 发布
1301
分类专栏: 开发话题 文章标签: C C++ WIN32 窗口坐标 屏幕坐标
一.坐标概念
1.窗口坐标
Windows 窗体的坐标系基于设备坐标,在 Windows 窗体中绘制时的基本量度单位是设备单位(通常为像素)。
屏幕上的点通过 x 和 y 坐标对描述,x 坐标向右递增,y 坐标从上往下递增。 原点相对于屏幕的位置因指定的是屏幕坐标还是工作区坐标而异。
2.屏幕坐标
Windows 窗体应用程序用屏幕坐标指定窗口在屏幕上的位置。 对于屏幕坐标而言,原点是屏幕的左上角。
窗口的完整位置通常用 Rectangle 结构来描述,该结构包含定义窗口的左上角和右下角的两个点的屏幕坐标。
二. 获取窗口坐标和屏幕坐标
指定的窗口大小为600*500
除去左右下的边框
标题栏+客户区大小为592 * 469
1.客户区坐标
RECT rc; GetClientRect(hwnd, &rc);
2.屏幕坐标
RECT rc1; GetWindowRect(hwnd, &rc1);
3.坐标之间的转换
ClientToScreen
RECT rc; POINT pi; GetClientRect(hwnd, &rc); pi.x = rc.left; pi.y = rc.top; ClientToScreen(hwnd, &pi);
ScreenToClient
RECT rc1; POINT pi1; GetWindowRect(hwnd, &rc1); pi1.x = rc1.right; pi1.y = rc1.bottom; ScreenToClient(hwnd, &pi1);


评论列表