(ShowMessage, MessageDlg и MessageDlgPos)
Для оповещения пользователя о некорректно введенных данных можно использовать процедуру ShowMessage или функции MessageDlgPos и MessageDlg.
ShowMessage(const Msg: String) — эта процедура выводит окно с сообщением и кнопкой Ok. В заголовке содержится название исполняемого файла, если в опциях приложения не задан параметр Title, если задан то выводиться будет он. Строка Msg — будет выводиться как текст сообщения.
MessageDlg(const Msg: String . AType: TMsgDlgType . Abuttons: TMsgButtons . HelpCtx: Longint): Word — функция показывающая диалоговое окно сообщения в центре экрана и дает возможность пользователю ответить на сообщение. Msg — параметр отвечающий за выводимый текст сообщения.
Тип выводимого окна сообщения зависит от параметра AType, список возможных значений которого следующий:
- mtError — на фоне красного круга расположен белый косой крест и заголовок окна — Error .
- mtWarning — на фоне желтого треугольника расположен черный восклицательный знак -! и заголовок окна — Warning .
- mtConfirmation на фоне белого круга расположен синий знак ? и заголовок окна — Confimation .
- mtInformation — на фоне белого круга расположена синия буква i и заголовок окна — Information .
- mtCustom — диалоговое окно не содержит рисунка, в заголовке выводиться имя исполняемого файла приложения или Title свойства Application приложения.
AButtons — параметр, который задает набор кнопок на диалоговой форме и может принимать произвольные комбинации из значений:
- кнопка Yes — mbYes,
- кнопка Ok — mbOk,
- кнопка No — mbNo,
- кнопка Cancel — mbCancel,
- кнопка Abort — mbAbort,
- кнопка Retry — mbRetry,
- кнопка Ignore — mbIgnore,
- кнопка All — mbAll,
- кнопка Help — mbHelp.
Список из необходимых, перечисленных кнопок должен быть заключен в квадратные скобки.
MessageDlg(Большое значение, mtConfirmation, [mbYes,mbNo],0) .
Кроме перечисления отдельных кнопок, есть возможность задать часто используемым сочетаниям кнопок значениями специальных констант:
- кнопки OK и Cancel — mbOkCancel,
- кнопки Yes, No и Cancel — mbYesNoCancel,
- кнопки Abort, Retry и Ignore — mbAbortRetryIgnore.
Эти константы не надо брать в скобки, так как они являются предопределенными множествами.
Если мы внутри скобок не объявим список, то в диалоговом окне не будет ни одной кнопки и пользователю придется закрывать окно системными кнопками Windows.
MessageDlg(Большое значение, mtConfirmation,mbAbortRetryIgnore,0) .
При щелчке на любой кнопке (кроме Help) результат возвращается функцией MessageDlg (свойство ModalResult), а сама форма закрывается. Результат может быть одним из значений списка:
mrOk, mrRetry, mrNo,mrNone, mrAbort, mrYes, mrCancel, mrIgnore, mrAll
Параметр HelpCtx задает тему справки. Ее можно вызвать во время показа диалогового окна клавишей F1. Обычно этот параметр устанавливается равным нулю и справка не выводиться.