http://www.vckbase.net/code/winview/advui/bardemo.zip
濡備笂浠g爜,鍦ㄨ繍琛岀▼搴忕殑鏃跺€?鐢ㄩ紶鏍囨嫋鍔ㄥ乏杈圭獥鍙?浼氶棯鍔?鎬庝箞瑙e喅杩欎釜闂?
鎴戞墠鐢ㄤ簡濡備笅鏂规硶BOOL CVCKBASEDlg/*(CMyDlg)*//*CCoolTabCtrl*/::OnEraseBkgnd(CDC* pDC){
  return TURE;//CDialog::OnEraseBkgnd(pDC);}
,鏁堟灉鏄湁涓€鐐?浣嗘槸娌℃湁鎿︽帀鑳屾櫙,浼氬嚭鐜板墠鍚庝袱甯х獥鍙e彔鍔犵幇璞?鐒惰€屾垜浣跨敤浜嗘摝鎸囧畾鐨勫尯鍩?
         HWND hWnd=this->m_hWnd;//GetDlgItem(IDC_ALLMAPVIEW)->GetSafeHwnd();
Graphics graphis(hWnd);
SolidBrush brush(GetSysColor(COLOR_3DFACE));
CRect SampleRect;
::GetClientRect(hWnd,&SampleRect);
graphis.FillRectangle(&brush,SampleRect.left,SampleRect.top,SampleRect.Width( ),SampleRect.bottom);
娌℃湁寰楀埌鐞嗘兂鐨勬晥鏋?璇锋眰楂樻墜鎸囩偣.璋㈣阿!

解决方案 »

  1.   

    http://www.vckbase.net/code/winview/advui/bardemo.zip
    上面代码,怎样解决窗口不闪动问题?当我运行程序是拖动左边的窗口,会出现闪动现象,我才用了BOOL CVCKBASEDlg/*(CMyDlg)*//*CCoolTabCtrl*/::OnEraseBkgnd(CDC* pDC){
      return TURE;//CDialog::OnEraseBkgnd(pDC);}
    但是出现前后两帧窗口叠加的现象.我又采用了下方法,指定区域刷背景
          HWND hWnd=this->m_hWnd;//GetDlgItem(IDC_ALLMAPVIEW)->GetSafeHwnd();
    Graphics graphis(hWnd);
    SolidBrush brush(GetSysColor(COLOR_3DFACE));
    CRect SampleRect;
    ::GetClientRect(hWnd,&SampleRect);
    graphis.FillRectangle(&brush,SampleRect.left,SampleRect.top,SampleRect.Width( ),SampleRect.bottom);
    还是没有得到理想的效果.请求高手帮忙,谢谢!
      

  2.   

    绘制的时候连带着把背景也绘制了,比如FillSolidRect填充一下客户区背景。