我在一幅矢量图上定时画东西,我用到了双缓冲,但是运行的时候,当定时启动画东西时,
一直有一个白框闪(大小为rect.Width()-200,rect.Height()),遮住了矢量图,不知哪写得不对,我是新手,最好有代码,请前辈们帮帮忙!!
在CmyView::OnDraw(CDC *pDC)中调入的自己画东西的函数:
部分代码如下:
在画东西的函数中: CDC MemDC;
CBitmap MemBitmap;
MemDC.CreateCompatibleDC(pDC);
CRect rect;
GetClientRect(&rect);
MemBitmap.CreateCompatibleBitmap(pDC,rect.Width()-200,rect.Height());
CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);
MemDC.FillSolidRect(0,0,rect.Width()-200,rect.Height(),RGB(255,255,255));
MemDC.SetBkMode(TRANSPARENT); .... 这段是我画东西的代码 略
pDC->BitBlt(0,0,rect.Width()-200,rect.Height(),&MemDC,0,0,SRCCOPY);
MemBitmap.DeleteObject();
MemDC.DeleteDC();
一直有一个白框闪(大小为rect.Width()-200,rect.Height()),遮住了矢量图,不知哪写得不对,我是新手,最好有代码,请前辈们帮帮忙!!
在CmyView::OnDraw(CDC *pDC)中调入的自己画东西的函数:
部分代码如下:
在画东西的函数中: CDC MemDC;
CBitmap MemBitmap;
MemDC.CreateCompatibleDC(pDC);
CRect rect;
GetClientRect(&rect);
MemBitmap.CreateCompatibleBitmap(pDC,rect.Width()-200,rect.Height());
CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);
MemDC.FillSolidRect(0,0,rect.Width()-200,rect.Height(),RGB(255,255,255));
MemDC.SetBkMode(TRANSPARENT); .... 这段是我画东西的代码 略
pDC->BitBlt(0,0,rect.Width()-200,rect.Height(),&MemDC,0,0,SRCCOPY);
MemBitmap.DeleteObject();
MemDC.DeleteDC();
解决方案 »
- 测试插入图片
- 一道字符编码转换的面试题。。。很难的
- Axtivex ccombox 控件问题
- 用什么编写.ocx啊?谢谢!
- 求教异型界面的实现。
- 菜问题:用什么API可以得到显示器的名字就像"Plus And Play Monitor"?
- 请问消息发送的问题
- 怎么从一个文本文件读出文本在RICHEDIT里面显示呢
- 针对高手问题,谁又把汉字转成拼音的Vc++代码?最好带注音.
- m_pRecordset->GetRecordCount()时报错:“->GetRecordCount”的左边必须指向类/结构/联合/泛型类型
- 多次close, create udp socket后,为啥该socket接收不到之前server发过来的数据?
- vc如何灰掉Toolbar中的按钮
你把它注释掉看看
在有你的缓存DC 不要每次都新建删除,应该保留,这样会提高效率