希望是关闭对话框之后运行下面的程序
可是现在有时候是这个样子
还有就是在运行期间点了工具栏或者移动,窗口切换
窗口就变成了这个样子
该显示的提示也不显示了

解决方案 »

  1.   

    不会吧
    后面的代码我已经尽可能的优化了
    从四分钟到十几秒,其间经过一些处理判断读取文件,再插入四万多条记录现在的过程其实是
    弹出一楼的那个对话框,选择之后按“确定”,希望关闭对话框之后执行后面的程序
    CSelectSpDlg dlg;
    if(dlg.DoModal()==IDOK){
    CLg600App* pApp = (CLg600App*)AfxGetApp();
    pApp->ChangeToLib();
    }
      

  2.   

    十几秒,肯定会出现LZ的那种情况。
    建议LZ使用异步消息,在消息处理函数中处理这些数据,否则肯定会出现LZ的现象。
    或者使用同步消息,只是启动一个定时器,然后再定时器中处理这个绘制,
    这样就可以解决LZ的问题了
      

  3.   

    谢谢
    我是程序运行到某处,然后写上提示信息的
    用定时器不知道怎么弄
    异步消息是什么样的?没用过....
    ps:ls看留言!
      

  4.   

    PostMessage();就是异步消息。
    在消息处理函数中调用:
    SetTimer(1,500,NULL);
    在OnTimer()的处理函数中调用:
    ChangeToLib();
      

  5.   

    每隔500毫秒执行一次change to lib?
    不行啊
    change to lib 只要执行一次,一次就是几十秒甚至一分钟
      

  6.   

    谢谢
    用postmessage貌似第一个问题解决了
    但偶尔还是有问题,和第一幅图不一样,没那么大,有一小块仍然在上面但是第二个怎么弄
    因为程序时一直在执行的