关于C++提取鼠标位置处的坐标的程序

voidCClickView::OnDraw(CDC*pDC){CClickDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);CStri... void CClickView::OnDraw(CDC* pDC)
{
CClickDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CString str;
CPen pen, *p_pen;
str.Format("点击鼠标左键可显示点击处的坐标值");
pen.CreatePen(PS_SOLID,3,RGB(0,0,255));
p_pen=pDC->SelectObject(&pen);
if(flag)//前面设置过ONLBUTTONDOWN,就是默认执行下面的内容,按下鼠标左键后执行else之后的内容
pDC -> TextOut(100, 0, str);
else
.........................
请问这部分应该怎么写?
我在网上找的用法是
POINT Pt;
GetCursorPos(&Pt);
但是点击左键后显示出的是一组不会变化的还明显有问题的坐标

求高手给下代码谢谢
}
展开
 我来答
偶尔e网事
2013-08-20 · TA获得超过279个赞
知道小有建树答主
回答量:297
采纳率:0%
帮助的人:318万
展开全部
你是要随着鼠标移动,获取鼠标坐标值吧?

那函数要写在OnMouseMove里面。

OnDraw是绘图函数。

CWnd::OnMouseMove

afx_msg void OnMouseMove( UINT
nFlags, CPoint point );
CPoint就是你要的坐标值。然后调用Invalidate或者UpdateWindow来刷新窗口,系统会自动调用OnDraw
更多追问追答
追问
不是,就是显示鼠标点击处那个点的坐标就好了 请问代码怎么写?
追答
鼠标点击处那个点的坐标要在OnLButtonDown这个函数中捕获,这算是一个回调函数,系统在调用的时候会自动传入一个CPoint的坐标值。
CWnd::OnLButtonDown

afx_msg void OnLButtonDown( UINT
nFlags, CPoint point );

你可以设置一个成员变量CPoint point1,然后在把OnLButtonDown这个函数中把point赋值给point1,就可以了
点点点循环
2013-08-20 · TA获得超过256个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:86.3万
展开全部
如果是单击-显示坐标,那这里不填任何东西。因为ONLBUTTONDOWN存在的地方才有坐标,在if(flag)的时候清理下画布就可以了。
如果是跟随,把if(flag)去掉就可以了。记得每次画之前清理画布。不知道是不是这个意思?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cheng8214
2013-08-21 · TA获得超过127个赞
知道小有建树答主
回答量:242
采纳率:100%
帮助的人:126万
展开全部
同意上面的,如果你要获取鼠标位置,处理WM_MOUSEMOVE 就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式