2012-02-04 15 views
7

我正在使用Application.MessageBox在我的VCL应用程序上显示消息,但是当应用程序应用了一个vcl样式时,消息窗口显示的是windows样式而不是当前的vcl样式。当vcl样式被激活时,我可以如何为我的应用程序的消息框蒙皮?

示例代码

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

样本图像

enter image description here

我如何可以显示当前VCL风格的一个消息框?

+1

任何人都还记得Winamp的? – 2012-02-04 22:57:27

回答

14

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

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

enter image description here

+0

这些对话框类是否支持CTRL + C呢? – 2012-02-05 09:28:09

+0

@DavidHeffernan,是的。 – RRUZ 2012-02-05 15:41:58

+0

我刚试过。不支持CTRL + C,因为当您按下按键时,电脑会发出警告铃声。我想我会调试它并进行质量控制。 – 2012-02-05 17:44:47

相关问题