怎样实现这样的对话框?

lbd8848 2007-05-23 03:23:25
比如说拷贝文件进度那种,只在自己程序的最顶端(不是StayOnTop),
并禁止对本程序其他部分的操作。
ShowModul可以在本程序最顶端,并禁止操作,可ShowModul会把主程序
暂停到这个Form关闭,这样主程序里就不能有什么操作了。
...全文
185 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lbd8848 2007-05-24
  • 打赏
  • 举报
回复
谢谢各位,看到一些相关的文章.好像用开线程的方法比较好!
现在,只用一个土方法,保存文件时,临时建立一个透时窗体,大小与主窗体一样覆在主窗体上,在透明窗体中显示保存比例.保存完毕后,再释放窗体.
ScriptBaby 2007-05-23
  • 打赏
  • 举报
回复
楼上注意读全楼主的需求
iuIRCClient 2007-05-23
  • 打赏
  • 举报
回复
创建一个窗口,正常显示show,将这个form的parent设为你的主窗体。这样可能达到你的要求。以前在c#里这样实现过,它只在本程序窗体上面,不影响其它程序。
ScriptBaby 2007-05-23
  • 打赏
  • 举报
回复
如果你主程序里边还想有什么操作的话, 请另外使用一个线程(这个线程中不要包括任何窗体).
否则你想达成这种目的, 就要写许多代码维护这个逻辑, 很累
slzzg 2007-05-23
  • 打赏
  • 举报
回复
1、调用API函数SetWindowLong,使窗口置TOP(具体查参数);
2、设置本程序钩子,屏蔽鼠标、键盘信息:SetWindowsHookEx;
wellgsy 2007-05-23
  • 打赏
  • 举报
回复
通过在窗体的Activate发送消息,在WndProc捕获消息加回调函数能够解决
代码跳动 2007-05-23
  • 打赏
  • 举报
回复
不知道还没有更好的方法, 单独写个小程序不能解决如题----------- 并禁止对本程序其他部分的操作。
lbd8848 2007-05-23
  • 打赏
  • 举报
回复
谢谢constantine(飘遥的安吉儿)、brightyang()
单独做一个小程序是个好方法,但因为我的文件是与数据库关联的,如果文件比较大,数据库的保存与文件的保存就不同步了。当用户在主程序,操作未保存完成的文件,可能会出错!
brightyang 2007-05-23
  • 打赏
  • 举报
回复
单独写个小程序
constantine 2007-05-23
  • 打赏
  • 举报
回复
不然你就做判断如果有在处理数据拷贝的时候不关闭程序。同进程的肯定会终止拷贝动作的。
constantine 2007-05-23
  • 打赏
  • 举报
回复
写另一个小程序专门做这见事情,处理好启动参数,在你的程序里面启动他,并传参数过去。
如果参数复杂,采用进程间通信的技术就可以了,方法比较多。
这样就是你关闭了原来的程序也能保证他完成你的数据拷贝。
lbd8848 2007-05-23
  • 打赏
  • 举报
回复
这样如果,点击主窗口中的关闭等其他按钮,会造成文件未复制完全等情况.使用数据无法保持完整性!
constantine 2007-05-23
  • 打赏
  • 举报
回复
做个浮动窗体类似迅雷那样,不处理鼠标信息不就可以了。

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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