7

我正在使用 Application.MessageBox 在我的 VCL 应用程序上显示消息,但是当应用程序应用了 vcl 样式时,消息窗口以 windows 样式而不是当前的 vcl 样式显示。

示例代码

 Application.MessageBox('Hello World', 'Hello', MB_OK + MB_ICONINFORMATION);

示例图像

在此处输入图像描述

如何显示具有当前 vcl 样式的消息框?

4

1 回答 1

14

Application.MessageBox 函数在内部调用MessageBox WinAPi 函数,该窗口不是由 delphi 创建的窗体,因此不能使用 Vcl 样式进行蒙皮。相反,您必须使用在 Vcl.Dialogs 单元中声明的对话框类和函数之一,如MessageDlg函数。

MessageDlg('Hello World',  mtInformation, [mbOK], 0);

在此处输入图像描述

于 2012-02-04T21:46:21.867 回答