MFC鼠标移动画线求助!

sdlanbing 2010-10-31 07:52:36
刚学C++编程..BT老师让我们自学MFC..并要求我们编写一个小程序,实现是用鼠标画出任意线的效果,并能保留线痕迹,在网上查了好多资料,还是不会,特来求主论坛大哥们...求各位大哥帮帮忙~~先谢谢啦~~
另:求一本MFC自学的教程,老师要求我们自学,并且做出一个类似于 是男人就坚持20秒 之类的小游戏..可惜没找到好的教材..哪位大哥有个话,可否帮忙给个链接或者,发到小弟邮箱 sdlanbing@163.com,谢谢啦..
...全文
477 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengdaodong 2010-11-01
  • 打赏
  • 举报
回复
关于绘图问题我自己稍稍有研究我的百度文库里面有我的文章
http://wenku.baidu.com/user/1
iqy 2010-11-01
  • 打赏
  • 举报
回复
这种例子是有的,我也实验过了的。但我有一种感觉,画线?PHOTOSHOP、画笔等不是做得很好了吗?还学这些人家早已开发过的东西干嘛?
yann2 2010-10-31
  • 打赏
  • 举报
回复
比较简单的办法就是把你画的点给存储下来

OnPaint()消息中将你存储下来的点重绘一次 不过效率很低 但是很简单 适合新手学习

效率稍好一点的可以在OnPaint()中将本窗口的DC拷贝到内存DC中 然后在OnEraseBkgnd中Bitblt

存储点不难,CList这个类就可以实现 挺方便的 你google一下吧 怎么画曲线楼上几位已经告诉你啦
purewqk 2010-10-31
  • 打赏
  • 举报
回复
看看孙鑫VC的教程,里面就有这些...
zhaiwenjuan 2010-10-31
  • 打赏
  • 举报
回复
在对话框中响应CDialog::OnLButtonDown(nFlags, point);与CDialog::OnLButtonUp(nFlags, point);CDialog::OnMouseMove(nFlags, point);这三个事件,给你个例子,比着这个改一下。
先定义BOOL m_bMove=false;
void CDrawView::OnLButtonDown(UINT nFlags, CPoint point)
{

// TODO: Add your message handler code here and/or call default
m_ptOrigin=point;
m_ptOld=point;
m_bMove=TRUE;//保存这个坐标点

CView::OnLButtonDown(nFlags, point);
}
void CDrawView::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default

//画出连续的带有颜色的线
CClientDC dc(this);
CPen pen(PS_SOLID,1,RGB(255,0,0));//创建一个画笔
CPen *pOldPen=dc.SelectObject(&pen);//选到一个设备描述表中
if(m_bMove==TRUE)
{
dc.MoveTo(m_ptOrigin);//划线时先把移动到原点
dc.LineTo(point); //划到线的终点
m_ptOrigin=point; //连续划线就要将线的终点重设为下一次线的起点
}
dc.SelectObject(pOldPen);*/ //释放
}
void CDrawView::OnLButtonUp(UINT nFlags, CPoint point)
{
m_bMove=FALSE;
CView::OnLButtonUp(nFlags, point);
}
向立天 2010-10-31
  • 打赏
  • 举报
回复
如果说用鼠标点击两下画出一条直线
不用考虑保留线痕的问题
你能实现么
sdlanbing 2010-10-31
  • 打赏
  • 举报
回复
额.回2楼.我是第一次接触.刚会画一些线段..圆..矩形..
向立天 2010-10-31
  • 打赏
  • 举报
回复
你现在能做到什么程度
matrixcl 2010-10-31
  • 打赏
  • 举报
回复
《windows程序设计》有类似的例子。

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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