当前位置: 代码迷 >> 综合 >> VS2012 GDI绘图双缓冲 去闪屏问题
  详细解决方案

VS2012 GDI绘图双缓冲 去闪屏问题

热度:1   发布时间:2024-01-13 05:00:36.0

VS2012 GDI绘图双缓冲 去闪屏问题


CMemDC类

使用CMemDC类实现双缓冲是非常简单的


         CDC *pDC = GetDC();CMemDC dcMem(*pDC,this);CDC& dc = dcMem.GetDC();HDC hdc = dc.m_hDC;using namespace Gdiplus;Graphics graphics(hdc);graphics.SetSmoothingMode(SmoothingModeAntiAlias);graphics.Clear(Gdiplus::Color(255, 255, 255));CchessboardDoc *pDoc = GetDocument();Pen newPen(pGroup->attr.c, pGroup->attr.width);//此处就可以利用graphics随便画图了//graphics.DrawLine(&newPen, pItem->point.x, pItem->point.y, (pItem->next->point.x), (pItem->next->point.y));

MFC中的APP/DOC/VIEW

MFC中这三者的关系,类似于MVC中的三个角色。 DOC类似于MODE,VIEW也相当于VIEW,APP与Controller的对应则没有那么明显;

需要注意的是
VIEW可以监听菜单、工具栏等消息或者事件,同时还可以监听windows事件,例如鼠标键盘之类,因为它是继承了CWND的。

而DOC和APP只能监听一般的消息事件,命令等,因为它是继承CCmdTarget的。

至此,以此为记录。
  相关解决方案