我现在做了个对话框的程序,在对话框上要显示一些CBitmapButton和CStatic的图片。但是我的程序一启动的时候就看到在原本要显示图片的地方先会显示一个空白然后再显示图片。我看到有别的程序,它在启动的时候(双击之后),首先会有个等待(我的在双击后没有等待,会立刻显示),但等待完了会一次全部显示出来,不会有什么闪烁的问题,我猜想它的是在OnPaint里做了处理,但具体是怎么做的,不大清楚,望高手指点!!!!!!!!!

解决方案 »

  1.   

    位图按钮,你可以在BOOL   xxxDlg::OnEraseBkgnd(CDC   *pDC)
    ON_WM_ERASEBKGND()//背景色方法2
    BOOL OnEraseBkgnd(CDC   *pDC);
    用这个不会产生你说的问题,你可以在指定位置显示一个位图,然后,在位图显示的矩形内,把你的控件,MoveWindow()在矩形区域内,控件要透明显示
    CBitmapButton,这个你可以用其它一些别人封装好的BUTTON类来实现,很简单的,我用过这个类,不会出现你说的问题,
    我正在做这个,有事可以联系,[email protected]
    源代码也有,
      

  2.   

    请发一些相关的源码给我,谢谢 
    [email protected]
      

  3.   

    把图内存中画好再拷贝上去.pDC->BitBlt();