void CGraphDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
CRect rect;
GetWindowRect(&rect);
CDC MemDC;
CBitmap MemBitmap;
MemDC.CreateCompatibleDC(NULL);
MemBitmap.CreateCompatibleBitmap(&dc,rect.Width (),rect.Height ());
CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);
MemDC.FillSolidRect(0,0,rect.Width (),rect.Height (),RGB(165,209,209));
CPen newPen(PS_SOLID, 1, (COLORREF)0x008c8c8c);
CPen* pOldPen = MemDC.SelectObject(&newPen);
MemDC.MoveTo (0,0);
MemDC.LineTo (100,100);
dc.BitBlt(0,0,rect.Width(),rect.Height(),&MemDC,0,0,SRCCOPY);
MemDC.SelectObject(pOldPen);
MemBitmap.DeleteObject();
MemDC.DeleteDC();
}
是我的双缓冲还有问题吗?
{
CPaintDC dc(this); // device context for painting
CRect rect;
GetWindowRect(&rect);
CDC MemDC;
CBitmap MemBitmap;
MemDC.CreateCompatibleDC(NULL);
MemBitmap.CreateCompatibleBitmap(&dc,rect.Width (),rect.Height ());
CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);
MemDC.FillSolidRect(0,0,rect.Width (),rect.Height (),RGB(165,209,209));
CPen newPen(PS_SOLID, 1, (COLORREF)0x008c8c8c);
CPen* pOldPen = MemDC.SelectObject(&newPen);
MemDC.MoveTo (0,0);
MemDC.LineTo (100,100);
dc.BitBlt(0,0,rect.Width(),rect.Height(),&MemDC,0,0,SRCCOPY);
MemDC.SelectObject(pOldPen);
MemBitmap.DeleteObject();
MemDC.DeleteDC();
}
是我的双缓冲还有问题吗?
解决方案 »
- 关于背景更新SURENDRA算法
- 用MSCOMM做的串口通信程序,在2000下正常,在xp下就报错??为什么??
- VC中如何取得本机所有网络配置信息?
- 在dialogbar上绘制一条能拖动的曲线,但是在拖动时闪烁
- 讨论一下3种文件操作的优缺点:CFile类、fopen方式、OpenFile方式。
- 求《vc技术内幕(第五版)》中文版
- 一个关于存储过程奇怪的问题
- 高分求解,急急急!!!
- 如何用WindowsAPI在程序中修改显卡的加速功能?
- 如何将UTF-8转换为MBS?
- 一个对话框上有32个CComboBox控件,我如何用一个函数来处理响应变化
- Microsoft Internet Explorer 5程序设计
是图形闪还是控件闪?
我这个对话框怎么没有WM_ERASEBKGND消息呢?
BOOL CGraphDlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
return true;
}
我也加入了MemDC.SelectObject(pOldBit);这一句,可是还是有闪烁