MFC获取控件位置

转载自:http://blog.csdn.net/xv_ly15/article/details/6907533


设置位置可以使用setWindowPos
但是并没有函数GetWindowPos获取位置

可以通过一下方法获得
相关函数
GetClientRect(); //获得client区域
GetWindowRect(); //获取window区域
ScreenToClient(); //相互转换
ClientToScreen();

由于GetClientRect()获得的区域不包括位置,得到的rect的left,top必然为0---控件自身的大小!
而GetWindowRect();获得的区域包括位置,但会发现获得值不准确,应该是加上了窗体边界。(!!不确定)

正确方法:
CRect rt;
GetWindowRect(&rt); //获得window区域
ScreenToClient(&rt); //转到client


其它:获取屏幕大小(除去任务栏后的高度)

//获取屏幕大小 1366x706
	m_screenWidth = GetSystemMetrics(SM_CXFULLSCREEN);
	m_screenHeight = GetSystemMetrics(SM_CYFULLSCREEN);
// 
// 	//1366x768
// 	int cx = GetSystemMetrics( SM_CXSCREEN );
// 	int cy = GetSystemMetrics( SM_CYSCREEN );	--此处的Height更精准

	dlgRect.bottom = m_screenHeight+m_screenHeight*0.0312;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值