当我创建子DIALOG的时候我进行绘图,如果我动了子DIALOG,图形消失,
为什么我创建子DIALOG的时候我先动主DIALOG,再移动子DIALOG,图形就不消失,这是怎么回事?

解决方案 »

  1.   

    搞不懂你啥意思。绘图代码放到OnPaint里面,否则下次重绘就没有了。
      

  2.   

    我不是在OnPaint里绘图
    我不是说怎么绘图,我的问题是怎么会出现我说的那种情况。:-)
      

  3.   

    你的图是在主对话框上画还是在子对话框上画的。你的绘图代码不是在OnPaint里面画的,你动了子对话框,也许造成了窗口的重绘,所以你的图形就消失了。而第二种情况可能没有产生重绘,所以图形还在。具体是看你怎么移动的。
      

  4.   

    CShowInfoDlg *dlg;//子DIALOG
    //按钮事件中显示子DIALOG
    dlg=new CShowInfoDlg(this);
    dlg->Create(IDD_SHOWDLG_DIALOG);
    dlg->ShowWindow(SW_SHOW);
    dlg->ShowImage("C:\\a.bmp",30,30,80,80,0);//在CClientDC绘图
      

  5.   

    我是在子DIALOG上绘图,第一种我明白。我就是不明白第二种情况! 创建子DIALOG后不移动,然后焦点到了主对话框,这时我再移动子DIALOG按理说还是要引起重绘的吧?
      

  6.   

    我是在子DIALOG上绘图,第一种我明白。我就是不明白第二种情况! 创建子DIALOG后不移动,然后焦点到了主对话框,这时我再移动子DIALOG按理说还是要引起重绘的吧?会的,只要把对话框移出屏幕,再移回来试试,至于那些要重绘,window本身在管。
      

  7.   

    我是在子DIALOG上绘图,第一种我明白。我就是不明白第二种情况! 创建子DIALOG后不移动,然后焦点到了主对话框,这时我再移动子DIALOG按理说还是要引起重绘的吧?会的,只要把对话框移出屏幕,再移回来试试,至于那些要重绘,window本身在管。