有很多窗体CDialog,
程序启动,有多个工作线程在工作,
点击主窗体上的按钮,弹出其他窗体,
简单的使用CPassWord DlgPassWord;  DlgPassWord.DoModal();都类似这样操作。
新的窗体弹出的时候很慢,刷新很慢,等很久才能显示出来。有没有达人指点下!很久了这个问题!谢谢我用evc编的程序,应该和vc差不多阿

解决方案 »

  1.   

    创建非模态的试试CPassWord DlgPassWord; 
    if(!::IsWindow(dlg.GetSafeHwnd())) 
    {    
    dlg.Create(对话框ID);     
    }
    dlg.ShowWindow(SW_SHOW);
      

  2.   

    不懂evc。
    能不能记录下在domodal的这段时间内,其他的工作线程耗费的时间?
      

  3.   

    evc是vc6的子集,区别不大。我感觉程序运行的情况是这样
    点击窗体       工作线程
      窗              循
      体              环
      弹              运
      出              行
    cpu轮流给两个上面过程时间,但是人应该感觉不出,感觉两个过程是同时的,
    我的情况就像pc机很慢,运行一个软件,窗体刷新慢,
    我再试试非模式把
      

  4.   

    可能的解决方案:
    1\多线程处理你程序中的后台事务
    2\优化代码
    3\加cpu 和内存
    4\换一块高性能的显示卡程序没有错误,就是编程模式和代码优化及硬件性能的问题了