如题,最简单的显示个 n% 即可,我写的刷新有问题!请问用双缓存怎么画?#if 1
CString strText;
strText.Format(_T("%d%%"),m_iPos);
dc.SetBkMode(TRANSPARENT);
dc.DrawText(strText,-1,rcText,DT_CENTER | DT_VCENTER | DT_SINGLELINE);
#else
// now draw whatever you want
        CDC MemDC; //首先定义一个显示设备对象
        CBitmap MemBitmap;//定义一个位图对象
        //随后建立与屏幕显示兼容的内存显示设备
        MemDC.CreateCompatibleDC(dc.m_hDC);
        //这时还不能绘图,因为没有地方画 ^_^
        //下面建立一个与屏幕显示兼容的位图,至于位图的大小嘛,可以用窗口的大小
        MemBitmap.CreateCompatibleBitmap(dc.m_hDC, rcText.Width(), rcText.Height());

        //将位图选入到内存显示设备中
        //只有选入了位图的内存显示设备才有地方绘图,画到指定的位图上
        CBitmap OldBit;
        OldBit.m_hBitmap = MemDC.SelectBitmap (MemBitmap.m_hBitmap);
        //先用背景色将位图清除干净,这里我用的是白色作为背景
        //你也可以用自己应该用的颜色
        MemDC.FillSolidRect(rcText.left,rcText.top,rcText.Width(), rcText.Height(), RGB(0, 0, 0));
        //绘图
        
CRgn rgn;
        rgn.CreateRectRgn(rcText.left, rcText.top, rcText.right, rcText.bottom);
        MemDC.SelectClipRgn(rgn);
CString strText;
strText.Format(_T("%d%%"),m_iPos);
MemDC.SetBkMode(TRANSPARENT);
MemDC.DrawText(strText,-1,rcText,DT_CENTER | DT_VCENTER | DT_SINGLELINE);
                //MemDC.FillRect(&rect, brush.m_hBrush);
        //将内存中的图拷贝到屏幕上进行显示
        BOOL result = dc.BitBlt(rcText.left,rcText.top,rcText.Width(), rcText.Height(),MemDC.m_hDC,0,0,SRCCOPY);
        //绘图完成后的清理
        MemBitmap.DeleteObject();
        MemDC.DeleteDC(); 
#endif