MFC单文档编程:绘图时,如何在OnLButtonDown,OnLButtonUp时显示Point的坐标(x,y)? 高手进!!!
在LButtonDown&Up时响应如下函数{CClientDCdc(this);intx=0,y=0;x=point.x;y=point.y;CStringpt_loc...
在LButtonDown&Up时响应如下函数
{
CClientDC dc(this);
int x=0,y=0;
x = point.x;
y = point.y;
CString pt_location;
pt_location.Format(_T("%d, %d"),x,y);
dc.SetTextColor(RGB(255,0,255));
dc.TextOut(point.x+10,point.y+10,pt_location);
}
记录并显示坐标。画直线时当然就是显示两端点的坐标值(x,y)
满意者加分!!!
你把OnLButtonUp(),…Down()的函数代码写出来,实现只在鼠标左击(包括按下Down和弹起Up)时绘点坐标,最好用括号括起来,形如“(x,y)”。我写的那个函数您可以选择调用或不用。不胜感激。 展开
{
CClientDC dc(this);
int x=0,y=0;
x = point.x;
y = point.y;
CString pt_location;
pt_location.Format(_T("%d, %d"),x,y);
dc.SetTextColor(RGB(255,0,255));
dc.TextOut(point.x+10,point.y+10,pt_location);
}
记录并显示坐标。画直线时当然就是显示两端点的坐标值(x,y)
满意者加分!!!
你把OnLButtonUp(),…Down()的函数代码写出来,实现只在鼠标左击(包括按下Down和弹起Up)时绘点坐标,最好用括号括起来,形如“(x,y)”。我写的那个函数您可以选择调用或不用。不胜感激。 展开
3个回答
展开全部
void CMy111212View::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
//Invalidate(true);
CClientDC dc(this);
CString temp;
temp.Format("(%d,%d)",point.x,point.y);
dc.SetTextColor(RGB(255,0,255));
dc.TextOut(point.x,point.y,temp);
start=point;
CView::OnLButtonDown(nFlags, point);
}
void CMy111212View::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CClientDC dc(this);
CString temp;
temp.Format("(%d,%d)",point.x,point.y);
dc.SetTextColor(RGB(255,0,255));
dc.TextOut(point.x,point.y,temp);
dc.MoveTo(start);
dc.LineTo(point);
CView::OnLButtonUp(nFlags, point);
}
成员变量:
CPoint start;
{
// TODO: Add your message handler code here and/or call default
//Invalidate(true);
CClientDC dc(this);
CString temp;
temp.Format("(%d,%d)",point.x,point.y);
dc.SetTextColor(RGB(255,0,255));
dc.TextOut(point.x,point.y,temp);
start=point;
CView::OnLButtonDown(nFlags, point);
}
void CMy111212View::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CClientDC dc(this);
CString temp;
temp.Format("(%d,%d)",point.x,point.y);
dc.SetTextColor(RGB(255,0,255));
dc.TextOut(point.x,point.y,temp);
dc.MoveTo(start);
dc.LineTo(point);
CView::OnLButtonUp(nFlags, point);
}
成员变量:
CPoint start;
追问
这分已经是你的了。我开始也是这样做的,嘿嘿。大神,如何用一个数组starray[]保存画的点?或者用CArray,你给个例子我看看,加分的~
展开全部
你差的是这个函数而已
POINTpt;
::GetCursorPos( &pt );
POINTpt;
::GetCursorPos( &pt );
参考资料: http://msdn.microsoft.com/en-us/library/windows/desktop/ms648390(v=vs.85).aspx
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你不是已经用TextOut显示了吗,还有什么要求
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询