可能都会以为是以前大多的那种图形防闪的问题.请听我讲完全 这是一个等待解决的问题!CClientDC dc(this);
CRect rect;
GetWindowRect(&rect);//取得窗体大小SelectObject(MDC,BG);
BitBlt(dc.m_hDC,0,0,rect.Width(),rect.Height(),MDC,bgx,bgy,SRCCOPY);//在窗体上画出背景SelectObject(MDC2,BG2);
BitBlt(dc.m_hDC,rect.Width()/2,rect.Height()/2,32,32,MDC2,0,0,SRCCOPY);//在屏幕中间画出前景这些代码我都是放在OnTimer()中 不断增加bgx与bgy的值 但背景重画产生移动画面的时候 前景闪烁的厉害 原理都知道 因为重画了背景 再画前景 前景会短暂地被前景覆盖掉一断时间 然后再画出前景.初步想法是计算出前景的位置 在第一次画背景的时候跳过前景坐标的重画 就不会覆盖前景.能不能有更好的方法?使之不再闪烁?
CRect rect;
GetWindowRect(&rect);//取得窗体大小SelectObject(MDC,BG);
BitBlt(dc.m_hDC,0,0,rect.Width(),rect.Height(),MDC,bgx,bgy,SRCCOPY);//在窗体上画出背景SelectObject(MDC2,BG2);
BitBlt(dc.m_hDC,rect.Width()/2,rect.Height()/2,32,32,MDC2,0,0,SRCCOPY);//在屏幕中间画出前景这些代码我都是放在OnTimer()中 不断增加bgx与bgy的值 但背景重画产生移动画面的时候 前景闪烁的厉害 原理都知道 因为重画了背景 再画前景 前景会短暂地被前景覆盖掉一断时间 然后再画出前景.初步想法是计算出前景的位置 在第一次画背景的时候跳过前景坐标的重画 就不会覆盖前景.能不能有更好的方法?使之不再闪烁?
解决方案 »
- 呵呵,又来请教大神了!有关《定制资源管理器的外观》问题。
- ActiveX控件和容器的交互问题
- 请问ATL的优缺点有哪些?主要在什么情况下使用?
- 急!!通过网页调用聊天窗口?
- #define BEGIN_MESSAGE_MAP(theClass, baseClass) \
- 一个软件产品适合于“最终用户”怎么理解?
- 对话筐和 ClassWizard 的问题
- 用什么软件可以定位C++中内存泄露的位置?
- 大家快来呀,有点子的出个点子,没点子的捧捧场,来着有分!!
- 窗口刷新问题,好拿分的题,进来看看
- 请指教!ADO访问ODBC时,获得字段值的长度不对!
- 在Win32 Application下用API创建了一个窗口,如何在这个窗口上添加菜单?
看来仍是不能完美解决.