VC雙畫布消除屏幕閃爍實例詳解
在vc中貼圖時,直接貼圖到屏幕的CDC,會因為圖面貼入的時間不同而造成屏幕的閃爍。解決這個問題的辦法是先把圖面畫到內存畫布上,在一次畫到屏幕,內存映射到屏幕很快,所以不會造成閃爍。
實例代碼:
CDC m_dcMem; //創建內存畫布 CBitmap m_bmpMemDC; //創建內存畫布的//初始化內存畫布CDC* pDC = GetDC(); if(pDC->GetSafeHdc()) { if(!m_dcMem.CreateCompatibleDC(pDC)) { ReleaseDC(pDC); return; } if(!m_bmpMemDC.CreateCompatibleBitmap(pDC, rect.Width(), rect.Height())) { ReleaseDC(pDC); return; } m_dcMem.SelectObject(&m_bmpMemDC); ReleaseDC(pDC);//把圖像畫到內存畫布上//內存畫布映射到屏幕pDC->BitBlt(0,0,rect.Width(),rect.Height(),&m_dcMem,0,0,SRCCOPY);
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答
圖片精選