复习MFC之绘图-温故而知新

本文详细介绍了如何在MFC应用中进行绘图操作,包括绘制矩形框、直线、连续线条以及在窗口上贴图的方法。通过Win32 API和MFC类库的不同实现方式,讲解了绘图的基本步骤和关键函数,例如Rectangle、MoveTo、LineTo、BitBlt等,帮助开发者重温并深入理解MFC绘图技术。
摘要由CSDN通过智能技术生成

一、画矩形框

在视图(view)类里面的重绘(ondraw)添加

win32版:

HDC dc = ::GetDC(this->m_hWnd);
::Rectangle(dc,0,0,100,100);
::ReleaseDC(this->m_hWnd,dc);

MFC版:

CDC *pDC = this->GetDC();
pDC->Rectangle(0,0,100,100);
this->ReleaseDC(pDC);

封装版

CClientDC dc(this);

dc.Rectangle(0,0,100,100);

类CClientDC派生于CDC,在构造时调用了Windows函数GetDC,在析构时调用了ReleaseDC。这意味着和CClientDC对象相关的设备上下文是窗口的客户区。

 

二、画直线

在view里面添加鼠标左键按下和抬起的消息

在头文件里面定义鼠标按下的点:

public:
CPoint PointMouseDown;

在鼠标按下消息里面给按下的点赋值:

PointMouseDown = point;

在鼠标抬起消息里面画线:

CDC *pDC = this->GetDC();
pDC->MoveTo(PointMouseDown);
pDC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值