做图坐标转换问题

ttaileen 2009-03-16 11:51:08
条件:点坐标的值已知
问题:在MFC中,我做了一个对话框,对话框上面有一个组框,我想把这些点画到组框上面,请问这之间的坐标转换,设置原点,步骤是什么?都要用到哪些函数?
要详细一些的解释
要分好说,可以额外加
...全文
84 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lingyin55 2009-03-18
  • 打赏
  • 举报
回复
友情up下
chin_chen 2009-03-17
  • 打赏
  • 举报
回复
chin_chen 2009-03-17
  • 打赏
  • 举报
回复
有人家问:
CPoint point;
::GetCursorPos(&point);
我用这个函数取得鼠标的坐标,然后怎么将它转化为屏幕的坐标?
-----------------------------------------------------------------
回答 :

如果要换成窗口坐标,就用ScreenToClient()

::GetCursorPos(&point);得到就是屏幕坐标
一般直接使用api得到的就是绝对坐标,使用mfc包装过的类函数得到的是相对坐标
chin_chen 2009-03-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 ttaileen 的帖子:]
条件:点坐标的值已知
问题:在MFC中,我做了一个对话框,对话框上面有一个组框,我想把这些点画到组框上面,请问这之间的坐标转换,设置原点,步骤是什么?都要用到哪些函数?
要详细一些的解释
要分好说,可以额外加

[/Quote]
给个文章你参考一下吧。希望对你有帮助http://school.cfan.com.cn/pro/c/2007-07-24/1185250791d79356.shtml
CNNRNNCNNRNN 2009-03-17
  • 打赏
  • 举报
回复
你是要把点画在组框内么?点的坐标是相对什么而言的?
//以程序窗口左上角为原点
CRect rect;
GetDlgItem(IDC_STATIC_GROUP)->GetWindowRect(&rect);//得到组框相当屏幕左上角的位置
ScreenToClient(&rect);//转为相对窗口原点的位置
jesunmy2008 2009-03-17
  • 打赏
  • 举报
回复
从屏幕坐标转换到客户区从标screentoclient(),然后,再用setviewportorg()设置新的原点,原点可以从你要画的控件矩形rect上获得,也就是rect.left,rect.top

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧