博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个GDI双缓冲类
阅读量:4080 次
发布时间:2019-05-25

本文共 803 字,大约阅读时间需要 2 分钟。

class double_buffer : public CDC{    int m_Mode;     CBitmap m_MemBitmap;    CWnd *mp_wnd;    CDC *mp_Dc;    CRect m_Rect;    CBitmap *m_oldbitmap;public:    double_buffer(CWnd *p_wnd) : mp_wnd(p_wnd)    {        mp_Dc = mp_wnd->GetDC();        mp_wnd->GetWindowRect(&m_Rect);        CreateCompatibleDC(mp_Dc);             m_MemBitmap.CreateCompatibleBitmap(mp_Dc, m_Rect.Width(), m_Rect.Height());        m_oldbitmap = SelectObject(&m_MemBitmap);        BitBlt(0,0, m_Rect.Width(), m_Rect.Height(),mp_Dc,0,0,SRCCOPY);      }    void inverse(){m_Mode = SetROP2(R2_XORPEN);}    ~double_buffer()    {        mp_Dc->BitBlt(0,0, m_Rect.Width(), m_Rect.Height(),this,0,0,SRCCOPY);        SelectObject(m_oldbitmap);        m_MemBitmap.DeleteObject();        DeleteDC();        mp_wnd->ReleaseDC(mp_Dc);    }};

转载地址:http://mutni.baihongyu.com/

你可能感兴趣的文章
写一个自用的前端脚手架
查看>>
vue + typescript 项目起手式
查看>>
vue + typescript 进阶篇
查看>>
前端开发如何让持续集成/持续部署(CI/CD)跑起来
查看>>
你知道,HTTPS用的是对称加密还是非对称加密?
查看>>
vue+koa2实现最简单的注册登录功能
查看>>
前端如何搭建一个简单的脚手架
查看>>
前端如何搭建一个成熟的脚手架
查看>>
写一个自用的前端脚手架
查看>>
手撸一个自己的前端脚手架
查看>>
史上最贴心前端脚手架开发辅导
查看>>
刷完31道链表题的一点总结
查看>>
十大经典排序算法(动图演示)
查看>>
嗨,送你一张Web性能优化地图
查看>>
fs模块
查看>>
使用vue+node搭建前端异常监控系统
查看>>
nodejs服务器部署教程一
查看>>
nodejs服务器部署教程二,把vue项目部署到线上
查看>>
nodejs服务器部署教程三,部署基于node+vue+mongodb的项目
查看>>
nodejs服务器部署教程四,部署ssl证书,升级为https
查看>>