读书人

delphi对话框确认有关问题

发布时间: 2012-02-26 20:19:45 作者: rapoo

delphi对话框确认问题
大家好!我的应用程序是用delphi编写的,用到了多线程。在三个线程中都用到了
if application.messagebox('忽略吗?',‘报警’,mb_yesno)=id_no then
begin
。。。
end
else
begin

end;
遇到问题:如果三个线程中的提示对话框同时出现的话,点击一个对话框的是或者否,三个对话框都消失。
请大家帮忙,我能否一个一个的点击对话框中的是或者否。
还有就是不用这种方式的对话框,请大家告诉我其他方式的对话框,能实现我的功能也行
先谢谢大家了

[解决办法]
Application.MessageBox是呼叫API:MessageBox。

MessageBox是一模窗口,但只呼叫它的UI程,是模窗口。

所以,在三程UI程中,三模窗口之是不互相影的。

考application呼叫messagebox的方法:
Result := Windows.MessageBox(Handle, Text, Caption, Flags);
handle是app的藏窗口,是主程中的西。
使用是有的。

其他程不去用。自己呼叫messagebox,第一0或本程的窗口handle
[解决办法]
线程里面不好直接出窗口吧,最好发消息给主线程。

读书人网 >.NET

热点推荐