2012-02-04 52 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

相關問題