实现等待对话框封装成COM

5207 2008-10-06 02:33:55
1、实现一个等待对话框,最终实现为com供使用。
2、此对话框可显示后台进度,不影响后台线程的运算
3、此等待框显示后为置顶,应用程序其他窗体不允许操作
4、在此等待框中显示动画,gif,avi均可。

上面几个问题,搞不定。特别是3条和4条。。望大家帮帮忙!
...全文
109 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
5207 2008-10-06
  • 打赏
  • 举报
回复
showModal等待窗体 会影响主线程吧?这样主线程就不运行了
五维思考 2008-10-06
  • 打赏
  • 举报
回复
...
MyThread.Create(False);
Form2.ShowModal;


MyThread中结束时向Form2发送关闭消息
五维思考 2008-10-06
  • 打赏
  • 举报
回复
不是线程showModal等待窗体,比如说吧:主窗体某按钮事件中,线程Create之后就showModal等待窗体,线程结束(包括异常处理)向等待窗体发送关闭消息
5207 2008-10-06
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 3150379 的回复:]
流程为:线程创建并执行-->ShowModal等待框窗体-->线程处理完后SendMessage给等待框窗体-->等待框窗体关闭
[/Quote]

你是说用线程来showModal等待窗体?先试验 一下。
五维思考 2008-10-06
  • 打赏
  • 举报
回复
流程为:线程创建并执行-->ShowModal等待框窗体-->线程处理完后SendMessage给等待框窗体-->等待框窗体关闭
panrongzeng 2008-10-06
  • 打赏
  • 举报
回复
TMediaplay的active屬性設計時改為true看看行不
五维思考 2008-10-06
  • 打赏
  • 举报
回复
看了半天也没人给个好的办法,那我给你出个主意吧。显示动画什么的我就不说了,网上有的是,单说第三个问题,你可以把等待框作为一个单独窗体,ShowModal它,在这里面写上后台数据处理(线程),其实没必要把它做成COM,那样更麻烦
5207 2008-10-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 kenshinggg 的回复:]
com組件被激活1到2秒才會動,這個不清楚了,估計是個延遲bug,呵呵
[/Quote]

第三个问题可有解决办法?
panrongzeng 2008-10-06
  • 打赏
  • 举报
回复
com組件被激活1到2秒才會動,這個不清楚了,估計是個延遲bug,呵呵
5207 2008-10-06
  • 打赏
  • 举报
回复
谢谢几位的回答!
Avi的播放可以实现,只不过在COM里会有问题,窗口处于激活时1-2秒才会动。。
gif的话我使用Timer来CheckSynchronize也是可以动的。只不过这样不太好。正在找原因。。。

panrongzeng 2008-10-06
  • 打赏
  • 举报
回复
播放AVI,TMediaplay好像這個控件吧,你看看有沒有
五维思考 2008-10-06
  • 打赏
  • 举报
回复
关注类似问题,帮顶一下
panrongzeng 2008-10-06
  • 打赏
  • 举报
回复
第三個問題sendmessage行不行?
第四個問題用一個控件,具體是那個我忘記了,以前搞過登錄框,在上面顯示avi

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧