解释一下如何获取MFC中picture中鼠标点击位置的坐标,我要过程不要理论!新建一个项目给我演示一下,好吗? 10

 我来答
百度网友c13f9bc
2016-05-31 · TA获得超过6155个赞
知道小有建树答主
回答量:6813
采纳率:3%
帮助的人:803万
展开全部
在一个自定义的Dialog中加入了picture控件,想要获取鼠标在该控件上的点击位置,遇到一些困难,最终解决了。方法如下:
其实挺简单的,首先用自定义的Dialog类重载CDialog的PreTranslateMessage函数,并在其中用到了Dialog的OnLButtonDown函数(其实不用也行,我只是想把操作封在这个函数里)这样就可以通过此函数传递点击位置。
BOOL PrintDialog::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class

if(pMsg->message == WM_LBUTTONDOWN && GetDlgItem(IDC_PACKPIC)->GetSafeHwnd() == pMsg->hwnd)

OnLButtonDown(MK_LBUTTON, pMsg->pt); //在此传递点击部位在对话框中的坐标

return CDialog::PreTranslateMessage(pMsg);
}

接下来在Dialog中的OnLButtonDown函数中判段是否点在picture控件内(lRect是控件的区域)
if((point.x>=lRect.left && point.x<=lRect.right) && (point.y>=lRect.top && point.y<=lRect.bottom))
{
// 通过对point的处理,获得实际在picture控件中的点击位置(坐标),完成。

point.x-=lRect.left;

point.y-=lRect.top;

}
追问
0.0
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式