VC屏幕坐标与窗口坐标

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
void CMy2011_12_03_oneDlg::OnButtonTest() 
{
	// TODO: Add your control notification handler code here

	CRect rectEdit;
	CRect rectDlg;

	CWnd *pWnd = GetDlgItem(IDC_EDIT);
	pWnd->GetClientRect(rectEdit);//此时获取到的结果只是相对于本控件(IDC_EDIT)区域,本控件的左上角为(0, 0)
								  //top = 0  left = 0  bottom = 控件高度  right = 控件宽度
	pWnd->ClientToScreen(rectEdit);//屏幕坐标,此时参考点为屏幕左上角(0,0)点。
								  //控件相对于屏幕的左边位置。此时top left bottom right都发生变化,但是控件的
								  //高度以及宽度不变。


	GetClientRect(rectDlg);
	ClientToScreen(rectDlg);

	int x = rectEdit.left - rectDlg.left;//文本框控件IDC_EDIT在对话框中X坐标
	int y = rectEdit.top  - rectDlg.top;//文本框控件IDC_EDIT在对话框中Y坐标


}

 
VC++在屏幕坐标窗口坐标之间转换 立即下载

相关推荐

visual c++得到窗口绝对坐标

vc得到窗口绝对坐标

c语言窗口内鼠标位置,Gtk获取窗口内光标 | 指针 | 鼠标的绝对和相对坐标,绝对和相对位置...

获取指针绝对坐标窗口内的相对坐标方法一:直接调用函数获得int ax, ay; /* absolutely postition*/int wx, wy; /* The absolutely position of the left up corner of window*/int rx, ry; /* The position of the pointer relative to the lef...

weixin_42220853的博客 1239

窗口坐标获取 VC

<br />    GetWindowRect是取得窗口屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。 <br /><br />   GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏幕的位置,因为这个矩阵是在客户区坐标系下(相对于窗口客户区的左上角)的。  <br /><br />ClientToScreen把客户区坐标系下的RECT坐标转换为屏幕坐标系下的RECT坐

飘着ing 9620

c++中GetWindowRect函数获得窗口位置

HWND gameh=::FindWindow(NULL,"test"); //test为窗口名称 RECT r1; ::GetWindowRect(gameh,&r1); cv::Point m ;//左上角坐标 m.x=r1.left; m.y=r1.top; 需要添加头文件 #include<windows.h> Enjoy! ...

lch_vision的博客 1万+

屏幕坐标系和窗口客户区坐标

屏幕坐标系和窗口客户区坐标系最明显的区别在于坐标原点,屏幕坐标系的坐标原点在整个屏幕的左上角,而窗口客户区坐标系的坐标原点在窗口客户区的左上角,通常这两个点是不重合的。一设备坐标和逻辑坐标  设备坐标(DeviceCoordinate)又称为物理坐标(PhysicalCoordinate),是指输出设备上的坐标。通常将屏幕上的设备坐标称为屏幕坐标。设备坐标用对象距离窗口左上角的水平...

aaa407217484的博客 791

ClientToScreen 和ScreenToClient用法

ClientToScreen( )是把窗口坐标转换为屏幕坐标 ScreenToClient( )是把屏幕坐标转换为窗口坐标 屏幕坐标是相对于屏幕左上角的,而窗口坐标是相对于窗口用户区左上角的 VC下,有些函数使用窗口坐标,有些使用屏幕坐标,使用时要分清。 一个窗体分为两部分:系统区和客户区 象标题和菜单之类的是系统区,由系统来控制,客户区就是你的地盘喽!!! Width, Heig

ghevinn欢迎您光临 1万+

ClientToScreen 和ScreenToClient 用法

ClientToScreen( )是把窗口坐标转换为屏幕坐标 ScreenToClient( )是把屏幕坐标转换为窗口坐标 屏幕坐标是相对于屏幕左上角的,而窗口坐标是相对于窗口用户区左上角的 VC下,有些函数使用窗口坐标,有些使用屏幕坐标,使用时要分清。 一个窗体分为两部分:系统区和客户区 象标题和菜单之类的是系统区,由系统来控制,客户区就是你的地盘喽!!! Width, He

Arcsinsin的学习笔记 3002

MFC ClientToScreen 和 ScreenToClient

ClientToScreen( )是把窗口坐标转换为屏幕坐标  ScreenToClient( )是把屏幕坐标转换为窗口坐标  屏幕坐标是相对于屏幕左上角的,而窗口坐标是相对于窗口用户区左上角的  VC下,有些函数使用窗口坐标,有些使用屏幕坐标,使用时要分清。      一个窗体分为两部分:系统区和客户区  象标题和菜单之类的是系统区,由系统来控制,客户区就是你的地盘喽!!!

闪落世间的专栏 4066

ClientToScreen 和ScreenToClient

ClientToScreen( )是把窗口坐标转换为屏幕坐标ScreenToClient( )是把屏幕坐标转换为窗口坐标屏幕坐标是相对于屏幕左上角的,而窗口坐标是相对于窗口用户区左上角的VC下,有些函数使用窗口坐标,有些使用屏幕坐标,使用时要分清。一个窗体分为两部分:系统区和客户区象标题和菜单之类的是系统区,由系统来控制,客户区就是你的地盘喽!!!Width, Height 是指整体的,Clien...

weixin_33981932的博客 478

【MFC】 ClientToScreen 和ScreenToClient 【转】

ClientToScreen()是把窗口坐标转换为屏幕坐标 ScreenToClient()是把屏幕坐标转换为窗口坐标 屏幕坐标是相对于屏幕左上角的,而窗口坐标是相对于窗口用户区左上角的 VC下,有些函数使用窗口坐标,有些使用屏幕坐标,使用时要分清。 一个窗体分为两部分:系统区和客户区 象标题和菜单之类的是系统区,由系统来控制,客户区就是你的地盘喽!!! Width,He...

weixin_30878501的博客 135

ClientToScreen 和ScreenToClient 用法 分类: ...

ClientToScreen( )是把窗口坐标转换为屏幕坐标 ScreenToClient( )是把屏幕坐标转换为窗口坐标 屏幕坐标是相对于屏幕左上角的,而窗口坐标是相对于窗口用户区左上角的 VC下,有些函数使用窗口坐标,有些使用屏幕坐标,使用时要分清。 一个窗体分为两部分:系统区和客户区 象标题和菜单之类的是系统区,由系统来控制,客户区就是...

weixin_30505751的博客 250

网路摘抄【4】

1、显示独立文件方式的位图(位图的所有数据独立于可执行文件)HBITMAP *hBitmap; //定义位图对象句柄BITMAP BM;CDC MemDC;CClientDC ClientDC(this);MemDC.CreateCompatibleDC(&ClientDC);hBitmap=(HBITMAP*):: LoadImage( AfxGetInstanceHandle(),//取得应用

64bit拖鞋 1493
上一篇: 不务正业
下一篇: 刘未鹏博客以及豆瓣荐书
crazyvoice
博客等级 码龄18年 148粉丝 203原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值