Как я могу очистить окно сообщения моего приложения при активации стилей vcl? - PullRequest
7 голосов
/ 05 февраля 2012

Я использую Application.MessageBox для отображения сообщений в моем приложении VCL, но когда к приложению применен стиль vcl, окно сообщений отображается со стилем windows вместо текущего стиля vcl.

Пример кода

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

Пример изображения

enter image description here

Как отобразить окно сообщения с текущим стилем vcl?

1 Ответ

14 голосов
/ 05 февраля 2012

Функция Application.MessageBox внутренне вызывает функцию MessageBox WinAPi, это окно не является формой, созданной delphi, поэтому не может быть обработано с помощью стилей Vcl.Вместо этого вы должны использовать один из классов и функций диалогов, объявленных в модуле Vcl.Dialogs, например, функцию MessageDlg.

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

enter image description here

...