标题:怎样获取一个控件相对于父窗口的坐标位置?不是GetWindowRect()也不是GetCl ...
只看楼主
widget
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-5-13
结帖率:0
 问题点数:0 回复次数:7 
怎样获取一个控件相对于父窗口的坐标位置?不是GetWindowRect()也不是GetClientRect()
GetWindowRect()获取的是控件相对于屏幕的坐标,不是相对于父窗口的坐标
GetClientRect()获取的是控件的客户区,
我在对话框上创建了一个button
怎样获取button相对于这个对话框的坐标,用哪个函数?
搜索更多相关主题的帖子: 坐标 控件 窗口 位置 获取 
2010-05-13 19:47
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
得分:0 
Getparent()
2010-05-13 21:41
duhongru
Rank: 2
等 级:论坛游民
威 望:1
帖 子:31
专家分:84
注 册:2010-4-21
得分:0 
GetParent()先获取父窗口指针,再调用其他函数
2010-05-14 08:35
zhuge300
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-5-15
得分:0 
你可以先通过函数GetDlaitem(IDC_....控件的ID号) 获取控件的指针,然后通过控件的指针去调用GetWindowRect()。
2010-05-15 09:28
zhuge300
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-5-15
得分:0 
是GetDlgitem(IDC_....控件的ID号),呵呵
2010-05-15 09:28
lizhong2613
Rank: 2
等 级:论坛游民
帖 子:21
专家分:20
注 册:2008-12-2
得分:0 
对话框上成功
you can try
CRect rc; pstatic->GetClientRect(rc);//pstatic为控件或子窗口指针
pstatic->MapWindowPoints((CWnd *)m_videownd,rc);//m_videownd为父窗口指针
2010-05-27 09:40
zhangyuhangk
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-3-29
得分:0 
我也遇到相同的问题,我是这样解决滴。父窗口的代码:
CRect rc;
CWnd* pItem = GetDlgItem(XXXXXX);
pItem->GetWindowRect(&rc);
ScreenToClient(&rc); // 把屏幕座标转换为相对父窗口客户区的座标
2012-03-17 22:55
langyuebzh
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-2-1
得分:0 
7楼是正解
2013-07-15 10:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-306541-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.221530 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved