MFC画图疑问

rabbit_zizhu 2008-04-01 08:54:17
void CTest1View::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CView::OnLButtonDown(nFlags, point);
this->m_startpoint=point;

CClientDC dc(this);
dc.MoveTo(point);
dc.LineTo(this->m_endpoint);

CView::OnLButtonDown(nFlags,point); ////请问这里是什么意思?}

void CTest1View::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default

CView::OnLButtonUp(nFlags, point);
this->m_endpoint=point;
}

还有一个疑问就是,我用这种方法画直线,每一次都是以前一条直线的终点为起点,而我是想获取当前鼠标的坐标,而不是前一条直线的终点为起点开始画的.请问怎么实现;
...全文
98 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
andywiliang 2008-04-05
  • 打赏
  • 举报
回复
顶你



请高手坐阵本群管理员
C C++ C# JAVA编程交流群:11713348
rabbit_zizhu 2008-04-05
  • 打赏
  • 举报
回复
上个问题我已经解决了.
rabbit_zizhu 2008-04-04
  • 打赏
  • 举报
回复
再问:怎么出现这个错误?

error C2327: '__unnamed::CDC' : member from enclosing class is not a type name, static, or enumerator

很郁闷...
hoohag 2008-04-01
  • 打赏
  • 举报
回复
CClientDC dc(this);
dc.MoveTo(point);
dc.LineTo(this->m_endpoint);
晕死....你为什么在鼠标相应函数里面去操作DC呀, 这样你一移动鼠标, 就会响应一次OnDraw(CDC* pDC)函数, 就把你画在DC上的东西给覆盖了, 看得到东西才奇怪了
rabbit_zizhu 2008-04-01
  • 打赏
  • 举报
回复
void CTest1View::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CView::OnLButtonDown(nFlags, point);

this->m_startpoint=point; ///这里就设置成起点了呀,但是只是第一次.后面我再画直线的话,就以前一条的终点为起点了.

CClientDC dc(this);
dc.MoveTo(point);
dc.LineTo(this->m_endpoint);

CView::OnLButtonDown(nFlags,point);
}

独孤过儿 2008-04-01
  • 打赏
  • 举报
回复
CView::OnLButtonDown(nFlags,point); ////请问这里是什么意思?}

当鼠标左键按下的时候,会执行这个函数...

很简单,在WM_LBUTTONDOWN消息里面有当前鼠标的坐标,把它设置成起点就行了!

65,176

社区成员

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

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