MFC之双缓存实现鼠标划线

MFC之双缓存实现鼠标划线

本文实现的是MFC中一个简单的鼠标划线功能,目的是为了实现像电脑中的画图软件中画线一样的效果:鼠标点击后开始划线,随着鼠标的移动,直线也移动变化,最终释放鼠标时完成一条直线的绘制。
为避免绘画中的闪烁,采取了双缓存机制进行绘画。
(一)visual studio2013,创建MFC程序
(二)程序代码
主要是在默认生成的View文件中修改:
1、在MFCTest1View.h头文件中创建变量

private:
    CPoint origin;
    CPoint end;
    BOOL m_bDraw=FALSE;
    CDC BufferDC;
    CBitmap BufferBitmap;

2、OnDraw()函数

// CMFCTest1View 绘制

void CMFCTest1View::OnDraw(CDC* pDC)
{
    CRect rc;
    GetClientRect(&rc);
    if (BufferDC.GetSafeHdc() == NULL){
        BufferDC.CreateCompatibleDC(pDC)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值