Dlg did not refresh.
during your long job, please send out message to refresh dlg. 

解决方案 »

  1.   

    如果去掉的话,你的程序不是变成了
    ((CMyApp*)AfxGetApp( ))->Waiting("Waiting......");
    ((CMyApp*)AfxGetApp( ))->EndWaitong( );
    对话框刚创建,就销毁了。我想,你该在 较长时间的操作 完成后,再销毁。
    我也这么做过,可没有出过问题。
    也许理解错了,你说清楚些。
      

  2.   

    ((CMyApp*)AfxGetApp( ))->Waiting("Waiting......");
    ((CMyApp*)AfxGetApp( ))->EndWaitong( );
    如果去掉的话,对话框是不会出现的,信息当然看不见了  
      

  3.   

    我认为你可以参考一下VC中CProgressDlg的方法,我很多信息均是从里面得到。
    他可以在VC的Componets and Control..中得到
      

  4.   

    你只要在你的dlgWaiting.ShowWindow(SW_NORMAL)之后,调用:
    dlgWaiting.UpdateWindow()就可以了;
    原因是因为在你的Waiting和EndWaiting之间的代码如果没有UI的话,那么消息将被堵塞,所以dlgWaiting.ShowWindow(...)的动作直到调用的函数结束才被响应,但此时已经没有窗口了,所以要用UpdateWindow()强制刷新一次!