MFC原创教程:1.0 Draw

这篇博客介绍了如何在MFC应用中使用OnLButtonDown和OnLButtonUp消息响应函数来实现鼠标画线功能。通过记录鼠标按下和抬起时的坐标,结合CDC类的方法MoveTo和LineTo,可以在视图上绘制线条。同时,文章还展示了如何使用CPen和CBrush对象改变线条颜色和填充形状,并提供了画透明矩形和连续曲线的实现思路。
摘要由CSDN通过智能技术生成
使用软件 visual studio 2005
要在程序中划线,需要知道鼠标左键按下时的和松开时鼠标的起始坐标。
1.创建单文档MFC应用程序。
2.先以增加一个BUTTON按钮控件为例,说明下添加消息响应的过程。
类视图--右键点击CMainFrame--属性
右侧可以看到:
点击--消息--找到 WM_LBUTTONDOWN--添加。
添加代码:
void CMainFrame::OnLButtonDown(UINT nFlags, CPoint point)
{
 // TODO: 在此添加消息处理程序代码和/或调用默认值
 MessageBox("MainFrame点击")
 CFrameWnd::OnLButtonDown(nFlags, point);
}
同样的,在CDrawView类添加这个消息
void CDrawView::OnLButtonDown(UINT nFlags, CPoint point)
{
 // TODO: 在此添加消息处理程序代码和/或调用默认值
 MessageBox("VIEW点击");
 CView::OnLButtonDown(nFlags, point);
}
这时,按下F7,可能会发现无法编译。(如果是C2664错误,解决方法是: 项目菜单--项目属性(最后一个)--配置属性--常规--项目默认值--字符集,将使用Unicode字符集改为未设置即可
编译成功后,按下F5,运行,单击窗口界面,发现是弹出窗口:“VIEW点击”而不是“MainFrame点击”。(MainFrame类是地面,VIEW类是地板,VIEW类覆盖在MainFrame类之上,所以“单击”只对VIEW有效)
CMainFrame::OnLButtonDown不需要了,删除这个消息的话,类视图--右键点击CMainFrame--属性--点击--消息--找到 WM_LBUTTONDOWN--删除。(因为多处地方已经自动生成了代码)
 
OnLButtonDown中的一个参数CPoint point,就记录了鼠标左键按下时的坐标,我们要记录它。
方法:右键点击-CDrawView--添加--变量
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值