1、实现一个等待对话框,最终实现为com供使用。
2、此对话框可显示后台进度,不影响后台线程的运算
3、此等待框显示后为置顶,应用程序其他窗体不允许操作
4、在此等待框中显示动画,gif,avi均可。上面几个问题,搞不定。特别是3条和4条。。望大家帮帮忙!

解决方案 »

  1.   

    第三個問題sendmessage行不行?
    第四個問題用一個控件,具體是那個我忘記了,以前搞過登錄框,在上面顯示avi
      

  2.   

    播放AVI,TMediaplay好像這個控件吧,你看看有沒有
      

  3.   

    谢谢几位的回答!
    Avi的播放可以实现,只不过在COM里会有问题,窗口处于激活时1-2秒才会动。。
    gif的话我使用Timer来CheckSynchronize也是可以动的。只不过这样不太好。正在找原因
      

  4.   

    com組件被激活1到2秒才會動,這個不清楚了,估計是個延遲bug,呵呵
      

  5.   

    看了半天也没人给个好的办法,那我给你出个主意吧。显示动画什么的我就不说了,网上有的是,单说第三个问题,你可以把等待框作为一个单独窗体,ShowModal它,在这里面写上后台数据处理(线程),其实没必要把它做成COM,那样更麻烦
      

  6.   

    TMediaplay的active屬性設計時改為true看看行不
      

  7.   

    流程为:线程创建并执行-->ShowModal等待框窗体-->线程处理完后SendMessage给等待框窗体-->等待框窗体关闭
      

  8.   


    你是说用线程来showModal等待窗体?先试验 一下。
      

  9.   

    不是线程showModal等待窗体,比如说吧:主窗体某按钮事件中,线程Create之后就showModal等待窗体,线程结束(包括异常处理)向等待窗体发送关闭消息
      

  10.   

    ...
    MyThread.Create(False);
    Form2.ShowModal;
    MyThread中结束时向Form2发送关闭消息
      

  11.   

    showModal等待窗体 会影响主线程吧?这样主线程就不运行了