一对话框,大概40ms左右就要整个重绘,上面有很多曲线,点,数字等等
可能因为更新的地方太多了,所以画面可以很明显的感觉在闪
OnEraseBkgnd已经返回TRUE,现在没办法了
可能因为更新的地方太多了,所以画面可以很明显的感觉在闪
OnEraseBkgnd已经返回TRUE,现在没办法了
解决方案 »
- vc滚动条控件的一件怪事?!是微软的bug吗?
- VC+++如何备份与还原Access数据库?
- 请问物理建模相关编程
- 急!在vc6中调用可执行文件,我使用ShellExecute函数,但无法输入该可执行文件的参数,怎么办?
- 请问:关于鼠标钩子问题
- 能在线程中调用activx控件吗?
- 仅做邮件服务器,选用什么软件性价比更好?(windows平台)
- “IOPCShutdown”: 未声明的标识符 报错求助
- count = *(unsigned long*)(data+3);什麽意思
- 如何设置RichEdit的行距
- 请问CFileFind ::IsSystem() 或 IsReadOnly()无法认出文件的只读、系统属性?
- TabCtrl的子窗口随着TabCtrl大小变化
有办法强制延迟更新吗? RECT rect;
GetClientRect(&rect);
int nWidth = rect.right - rect.left;
int nHeight = rect.bottom - rect.top; //使用内存dc
CDC memDC;
//NULL
memDC.CreateCompatibleDC(NULL);
CBitmap memBitmap;
CBitmap* pOldMemBmp = NULL;
memBitmap.CreateCompatibleBitmap(pdc,nWidth,nHeight);
pOldMemBmp = memDC.SelectObject(&memBitmap); //memDC.BitBlt(rect.left, rect.top, nWidth, nHeight, pdc,
// 0, 0, SRCCOPY); //memDC.FillSolidRect(0,0,nWidth,nHeight,RGB(0,0,0));
memDC.SetTextColor(RGB(192,192,192));
memDC.SetBkColor(RGB(0,0,0));
memDC.SetBkMode(TRANSPARENT); //获得更新区域 RECT WaveRect = {rect.left + nWidth/36,rect.top +10,rect.right,rect.top+rect.top + nHeight/4};
m_Wave.DrawWave(&memDC,WaveRect); //获得Vec的RECT
RECT VecRect = {rect.left + nWidth/36,rect.top + nHeight/4,rect.left + nWidth/2,rect.top + (double)nHeight*3/4};
m_Vector.DrawVec(&memDC,VecRect); //获得FFT的RECT
RECT FFtRect = {rect.left + nWidth/36 + nWidth/2 ,rect.top + nHeight/4,rect.right,rect.top + (double)nHeight*3/4};
m_FFt.DrawFFt(&memDC,FFtRect);
//获得向量的RECT
RECT PhasicRect = {rect.left+nWidth/36, rect.top+nHeight/6*5,rect.right,rect.bottom};
m_Phasic.DrawPhasic(&memDC,PhasicRect); BOOL miao = pdc->BitBlt(rect.left, rect.top, nWidth, nHeight, &memDC,
0, 0, SRCCOPY); memBitmap.DeleteObject();
memDC.DeleteDC();
但是直接加上去的控件没问题,但是动态TextOut的文字还是闪,另外我lineto上去的先也会闪
可以怎么解决?