</pre><p>由于要读取设备的数据,进而绘出数据的趋势图,所以需要不断的刷新屏幕进而进行读数据。但是由于刷屏一直会造成严重的闪屏,所以参照网上的方法,利用双缓冲技术进行函数重载绘制,但是一直仍旧闪屏,最后找到问题的根源,更改之后的效果确实良好,防止了屏幕出现闪屏,但是我的编码过程中也与网上的方法有稍稍不同,为了防止有人走我的弯路,在此将方法进行说明。首先,思想仍然是双缓冲的技术思想,但是由于要求是在控件中进行重载绘制,因此事不能牵扯到父窗口的绘制的。故此,选择重载函数OnPaint()进行图形的绘制。当进行重载之后,默认是</p><pre><p></p>
void CMY_Static::OnPaint()
{
CPaintDC dc(this); // device context for painting
CRect rect;//设计整个绘图区域大小的矩形
}
<pre name="code" class="cpp">
所有的绘图操作全在其中,于是我们进行创建一个内存DC和一个获取当前控件DC的指针*pDC,当然还有画布MemBitmap;
CDC *pDC;
CDC MemDC; //创建兼容的内存DC
CBitmap MemBitmap; //创立画布之后由指针获