我该怎么做?
procedure TFMain.Button2Click(Sender: TObject);
begin
ShowMessage('Cya!!');
Application.Terminate;
end;
有没有办法只能点击ShowMessage中的“确定”,如果我不能点击界面中的任何其他内容?
答案 0 :(得分:3)
没有受支持的方式来显示阻止与其他应用程序交互的窗口。
您可以使用ShowMessage
来显示模式对话框,该对话框始终显示在应用程序的最顶层,其模态涵盖应用程序中的所有其他窗口。也就是说,在显示消息框时,用户无法与应用程序中的其他窗口进行交互。这是系统支持的最大模态量。
您可以创建一个在top属性上显示的模式对话框。您无法阻止用户与其他应用程序交互,但您可以确保您的窗口始终位于用户想要使用的窗口之上。现在花一点时间考虑用户如何对您的应用程序做出反应。
如果您决定要这样做,可以将MessageBox
与MB_SYSTEMMODAL
一起使用。或者,您可以创建自己的表单(或使用CreateMessageDialog
)并在调用FormStyle
之前将其显示在top属性上(将fsStayOnTop
设置为ShowModal
)。
答案 1 :(得分:2)
我认为你正在寻找MessageBox
上的MB_SYSTEMMODAL
旗帜。而不是ShowMessage
,请直接致电MessageBox
,如下所示:
MessageBox(Application.Handle,'Cya!!',PChar(Application.Title),MB_OK or MB_ICONINFORMATION or MB_SYSTEMMODAL);