在加入滚动条的后,点击文档视图结构中的客户区中的一点,请问该如何获得这一点在图片中的坐标?

martenyong 2010-09-09 05:18:32
现在建立了一个带有滑动条的文档视图结构的程序,并打开一幅图片,现在需要点击图片上的一点,并以图片左上顶点为原点获得这个点的坐标,
目前的问题是,现在图像太大,加入滚动条之后,再点击,用CPoint得到的是该点位于屏幕上的坐标,请问应该如何换算成基于图像左上顶点为原点的坐标呢?
滚动条是以如下方法添加的:
void CCRITView::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();

// TODO: Add your specialized code here and/or call the base class
CClientDC dc(this);
int m_nCellWidth = dc.GetDeviceCaps(LOGPIXELSX);
int m_nCellHeigh = dc.GetDeviceCaps(LOGPIXELSY) / 4;
int m_nRibbonWidth = m_nCellWidth / 2;
int nWidth = (26 * m_nCellWidth) + m_nRibbonWidth;
int nHeight = m_nCellHeigh * 100;
SetScrollSizes(MM_TEXT,CSize(nWidth,nHeight));
}

谢谢!
...全文
74 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
martenyong 2010-09-14
  • 打赏
  • 举报
回复
我知道怎么做了,用
CClientDC dc(this);
OnPrepareDC(&dc);
dc.DPtoLP(&point);
就可以了。
Hiiishe 2010-09-09
  • 打赏
  • 举报
回复
OnLButtonDown()
{
CClientDC dc(this);
OnPreoneDC(&point)

point的X,Y分别减去图片在客户区的左上角坐标就是在图片上的坐标
}

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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