社区
Delphi
帖子详情
怎样在线程中显示一个窗口,然后再关闭它,要求在窗口显示期间,主线程不能处理任何消息。就像模态窗口一样?
wyj
2000-03-18 06:12:00
...全文
253
6
打赏
收藏
怎样在线程中显示一个窗口,然后再关闭它,要求在窗口显示期间,主线程不能处理任何消息。就像模态窗口一样?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xzw
2000-03-19
打赏
举报
回复
我想不能处理任何消息并不是你的本意吧?起码重画消息应该处理吧!:-)
此处你不想处理的消息我猜想应该是来自用户的输入,有一个办法,就是在线程要
弹出窗口时,把主窗口上的各种可能接收输入的窗口给Disable掉.这样就可以起到
你要的效果了.
我也碰到过你这样的问题,可能需求不一样,我是在线程中弹出错误信息,此时主线程
不能再有任何操作,唯有DISABLE了.
不知猜测你的用意是否正确,见笑了.
Lin
2000-03-19
打赏
举报
回复
To wyj:
这好象不是使用多线程的目的? 如果非要这样, 很有可能连你的弹出窗口也响应不了任何消息, 除非弹出窗口有自己的消息循环.
wyj
2000-03-18
打赏
举报
回复
有道理,多谢.这麽说是没有办法了?如果真的没有办法的话,那就在主线程中实现吧,可是又应该怎样做呢?
lu0
2000-03-18
打赏
举报
回复
线程驱动是在KERNEL MODE实现的.也就是说用户线程不能阻止切换线程.
所以如果不自己加LOCK.就不能阻止主线程获得信息.
见MSDN的线程同步章节.包括挂起主线程.
torent
2000-03-18
打赏
举报
回复
好像没这么简单!
你是否将每一行代码都加上synchronize呢?
gypb
2000-03-18
打赏
举报
回复
用synchronize不就得了
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章