Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >VC如何获取对话框中控件的坐标

VC如何获取对话框中控件的坐标

作者头像
_gongluck
发布于 2018-03-08 06:13:57
发布于 2018-03-08 06:13:57
2.6K00
代码可运行
举报
运行总次数:0
代码可运行

VC如何获取对话框中控件的坐标

GetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。

GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏幕的位置,它的top和left都为0,right和botton是宽和高,因为这个矩阵是在客户区坐标系下(相对于窗口客户区的左上角)的。  

ClientToScreen把客户区坐标系下的RECT坐标转换为屏幕坐标系下的RECT坐标.

ScreenToClient把屏幕坐标系下的RECT坐标转换为客户区坐标系下的RECT坐标.     

我们对同一个窗口先GetWindowRect取得一个RECT,再用ScreenToClient转换到客户坐标系。然后GetClientRect取得一个RECT,再用ClientToScreen转换到屏幕坐标系。显然,GetWindowRect取得的矩阵不小于GetClientRect取得的矩阵。因为前者包含了非客户区,而后包括了客户区。

引自:http://blog.chinaunix.net/u/25372/showart_304363.html

所以要获得一个控件再对话框中的坐标的实现代码是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CRect lpRec; 
 GetDlgItem(IDC_SLIDER_output)->GetWindowRect(&lpRec); 
 ScreenToClient(&lpRec);

详细可看http://blog.pfan.cn/miaowei/39345.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年09月27日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
轻松掌握屏幕坐标和窗口通信的实用技巧
友儿
2024/09/07
1171
轻松掌握屏幕坐标和窗口通信的实用技巧
MFC绘图小实验(3)
1,使用默认的文本背景模式,在点(-200,20)处输出黄底红字“Computer Graphics Based on VC++”;在(50,20)处输出黄底红字“BoChuang Research Institute”;使用透明文本背景模式在(-200,-20)处输出黑色整数5和8;在(0,-20)处输出黑色双精度浮点数(5.2,8.3)。 CRect rect; //定义矩形 GetClientRect(&rect); //获得客户区矩形 pDC->SetMapMode(MM
Zoctopus
2018/06/04
5030
Android:View的getLocalVisibleRect()和getGlobalVisibleRect()的区别
GlobalLayoutListener:布局的状态发生变化或者可见性发生变化才会调用。准确的说,这个不是监听View的加载完成,而是监听布局变化的。
北洋
2021/12/08
1.2K0
Android:View的getLocalVisibleRect()和getGlobalVisibleRect()的区别
屏幕坐标与客户坐标的区别
屏幕坐标是相对于屏幕左上角(0,0)位置的坐标,客户坐标是相对于某个窗口客户区左上角的坐标,当谈到客户坐标时需要说明是相对哪个窗口的客户坐标。
gaigai
2019/09/29
2.2K0
屏幕坐标与客户坐标的区别
MFC对话框最大化时控件放大
初始化时用来猎取每个控件的位置和大小,写一个函数是在窗口大小改变时,根据原来获得的各控件大小和位置进行等比例放大和缩小即可 一。 在头文件添加    POINT Old;//存放对话框的宽和高。
立羽
2023/08/24
3740
ThreeJS实现屏幕坐标转3d坐标 - plus studio
在虚拟世界中,3D坐标与屏幕坐标之间的转换是一个重要的问题。使用ThreeJS开发3D场景时,经常需要将屏幕坐标转换为3D坐标。在本文中,我们将介绍如何使用ThreeJS实现屏幕坐标转3D坐标的两种方法
plus sign
2024/02/28
5110
对话框伸缩功能的实现
对话框的伸缩功能是指当触发某一操作时只显示部分对话框的内容,再次触发时显示全部的对话框范围,就比如画图软件上的选择颜色对话框,我们可以使用系统预定义的颜色,也可以选择自定义颜色,当点击自定义的按钮时,对话框出现原先隐藏的另一边,让用户填写颜色的RGB值。 为了实现这个功能,我们需要记录两个矩形范围:全部对话框的大小和我们希望显示的部分对话框的大小,利用函数SetWindowPos来设置显示的对话框的大小,该函数的原型如下:
Masimaro
2018/08/31
6670
【Android 应用开发】Android 组件 位置坐标 属性 ( 组件位置属性 | 父容器坐标系坐标 | 窗口坐标系坐标 | 屏幕坐标系坐标 | 触摸坐标 )
left , top , right , bottom 是组件相对于父容器的位置 , 该值一般不会改变 ;
韩曙亮
2023/03/27
4K0
cocos2d-x坐标系
项目中有个需求“刮刮卡”,在手指触摸屏幕时,需要动态检查当前触摸的点是否“碰”到某个卡了,如果碰到了就把它显示出来。这里就需要了解一下IOS的坐标系统与OpenGL的坐标系统了
meteoric
2018/11/16
9110
PyQt5-屏幕坐标系的了解和基本使用
虫无涯
2023/11/04
4270
WPF 已知问题 开启 WM_Pointer 消息之后 获取副屏触摸数据坐标偏移
本文记录 WPF 触摸的一个已知问题,仅在开启 WM_Pointer 消息之后,将应用程序运行在包含多个屏幕的带触摸屏的设备上,如此时在非主屏幕的触摸屏上进行触摸,使用 GetStylusPoint 或 GetIntermediateTouchPoints 方法获取触摸点时,将会发现所获取的触摸点的坐标是偏的,偏的坐标差值刚好是整个屏幕距离
林德熙
2023/12/10
3212
WPF 已知问题 开启 WM_Pointer 消息之后 获取副屏触摸数据坐标偏移
MFC绘图小实验(2)
1,以正五边形的5个顶点为基础,隔点存储构成五角星。填充模式采用WINDING。五角星边界线为5个像素宽的蓝色实线,内部使用红色填充。 CRect rect; //定义矩形 GetClientRect(&rect); //获得客户区矩形 pDC->SetMapMode(MM_ANISOTROPIC); //设置映射模式 pDC->SetWindowExt(rect.Width(),rect.Height()); //设置窗口 pDC->SetViewportE
Zoctopus
2018/06/04
1.5K0
坐标系统仿射变换函数使用总结
Mac的AppKit坐标系统是已左下角为坐标原点,向右为X轴正向,向上为Y轴正向。
SheltonWan
2019/06/11
1.4K0
坐标系统仿射变换函数使用总结
iOS坐标系探究
APP 在渲染视图时,需要在坐标系中指定绘制区域。这个概念看似乎简单,事实并非如此。
落影
2018/11/01
2.8K0
VC++6.0入门——第7讲 对话框编程(一)
好事文章地址:https://cloud.tencent.com/developer/article/2470499
Arya
2024/11/25
2200
VC++6.0入门——第7讲 对话框编程(一)
2018最新mfc作为上位机接收硬件端USB或串口数据显示成图片 解决串口接收数据丢字节丢包问题
第一步:首先建立一个MFC工程,成功后会跳出一个对话框,直接在对话框上点击右键-》点击插入ACTIVAE控件-》选择MicrosoftCommunications Control, version 6.0
徐飞机
2018/08/30
3K0
2018最新mfc作为上位机接收硬件端USB或串口数据显示成图片   解决串口接收数据丢字节丢包问题
Unity 编辑器开发实战【Scene View】- UI Selector
在Scene窗口编辑UI界面时,当重叠的UI元素较多时,很难点选想要选中的元素,UI Selector工具做了如下功能:右键时弹出一个列表,列举所有包含鼠标当前位置的RectTransform物体,在列表中选择即可选中该UI元素。
CoderZ
2022/08/29
1.4K0
Unity 编辑器开发实战【Scene View】- UI Selector
Android应用坐标系统全面详解
去年有很多人私信告诉我让说说自定义控件,其实通观网络上的很多博客都在讲各种自定义控件,但是大多数都是授之以鱼,却很少有较为系统性授之于渔的文章,同时由于自己也迟迟没有时间规划这一系列文章,最近想将这一系列文章重新提起来,所以就来先总结一下自定义控件的一个核心知识点——坐标系。
AWeiLoveAndroid
2018/09/03
1.4K0
Android应用坐标系统全面详解
理解Unity3D中的四种坐标体系
2017-07-31 by Liuqingwen | Tags: Unity3D | Hits
IT自学不成才
2019/01/08
5.6K0
GDI编程
由于最近一直在搞GDI(GDI+)和图片处理的东西,怕自己忘记(其实已经忘得差不多),就仿照网上的BITMAPINFO查看器,写了个东西。 工程下载地址:点击打开链接 运行效果如图: 虽然比较(很)难
_gongluck
2018/03/08
1.2K0
GDI编程
相关推荐
轻松掌握屏幕坐标和窗口通信的实用技巧
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验