- •События формы
- •Работа приложения с одной и многими формами
- •Inherit — означает, что добавляемая в проект форма создается методом наследования от формы-заготовки, находящейся в Хранилище Объектов;
- •Организация взаимодействия форм.
- •Особенности модальных форм. Методы Show и ShowModal.
- •Стандартные диалоговые окна
- •Диалоговые окна вывода
Диалоговые окна вывода
ShowMessage
Отображает окно сообщения с кнопкой OK.
ShowMessage(‘Сообщение’);
В заголовке окна сообщения указывается имя выполняемого файла приложения. Изменить имя приложения можно на вкладке Application, в окне пункта меню Project, подпункта Options.
Пример использования
…
Var st: String;
Begin
…
st:='Спасибо, что выбрали нашу программу!';
ShowMessage(st);
…
End;
При необходимости анализировать ответ пользователя на сообщение используют функцию MessageDlg.
MessageDlg
Отображает диалоговое окно сообщения в центре экрана.
function MessageDlg(const Msg: string; AType: TMsgDlgType; AButtons: TMsgDlgButtons; HelpCtx: Longint): Word;
, где
· Msg — текст сообщения.
· Type — тип сообщения. Сообщение может быть информационным, предупредительным или сообщением о критической ошибке. Каждому типу сообщения соответствует определенный значок. Тип сообщения задается именованной константой, которые приведены на таблице ниже.
AButtons — кнопки, которые будут присутствовать в окне. Тип TMsgDlgBtns является множеством. Которое включает различные кнопки. Возможные значения кнопок:
Список необходимых кнопок заключается в квадратные скобки [ ], поскольку параметр AButtons является множеством. Если внутри скобок список отсутствует, то в окне не будет ни одной кнопки и пользователю придется закрывать окно системными средствами Windows.
Кроме приведенных констант можно использовать константы: mbokcancel, mbYesNoCancel и mbAbortRetryIgnore. Эти константы определяют наиболее часто используемые в диалоговых окнах комбинации командных кнопок.
HelpCtx — параметр, определяющий раздел справочной системы, который появится на экране, если пользователь нажмет клавишу <F1>. Если вывод справки не предусмотрен, то значение параметра должно быть равно нулю.
Значение, возвращаемое функцией MessageDlg, позволяет определить, какая из командных кнопок была нажата пользователем. Возможные возвращаемые значения:
Пример использования:
…
Begin
…
If MessageDlg('Вы действительно хотите выйти?',mtConfirmation,[mbYes,mbNo],0)= mrYes then Form1.Close;
End;
MessageBox
Функция для вызова диалогового окна с сообщение для пользователя. Принципиальное отличие от функции MessageDlg состоит в том, что можно задать заголовок сообщения и на кнопках отображаются русские надписи, это возможно поскольку MessageBox является функцией Windows32 API (функция самой ОС).
Рассмотрим синтаксис этой функции:
function Application.MessageBox(const Text, Caption: PChar; Flags: Longint ): Integer;
, где
· Text — текст самого сообщения, которое может быть более 255 символов при необходимости. Длинные сообщения будут автоматически распределяться на нескольких строках.
· Caption — заголовок диалогового окна. Заголовок тоже может иметь длину более 255 символов, при этом диалоговое окно будет увеличиваться в длину, что придаст ему не совсем эстетичный вид.
· Flag — множество параметров, определяющих вид и действия диалогового окна. При использовании нескольких параметров одновременно их необходимо складывать и записывать в скобках. Рассмотрим основные параметры:
Кнопки, отображаемые в диалоговом окне:
Параметр |
Значение |
Внешний вид |
MB_ABORTRETRYIGNORE |
Кнопки «Стоп», «Повтор» и «Пропустить». |
|
MB_OK |
Кнопка «ОК». Этот параметр принят по умолчанию. |
|
MB_OKCANCEL |
Кнопки «ОК» и «Отмена». |
|
MB_RETRYCANCEL |
Кнопки «Повтор» и «Отмена». |
|
MB_YESNO |
Кнопки «Да» и «Нет». |
|
MB_YESNOCANCEL |
Кнопки «Да», «Нет» и «Отмена». |
|
Пиктограммы, отображаемые в диалоговом окне:
Параметр |
Значение |
Пиктограмма |
MB_ICONEXCLAMATION |
Замечание. |
|
MB_ICONWARNING |
Предупреждение. |
|
MB_ICONINFORMATION |
Информирование. |
|
MB_ICONASTERISK |
Подтверждение. |
|
MB_ICONQUESTION |
Ожидание ответа |
|
MB_ICONSTOP |
Запрет. |
|
MB_ICONERROR |
Ошибка. |
|
MB_ICONHAND |
Прерывание. |
|
Параметры, указывающие кнопку, находящуюся в фокусе:
Параметр |
Кнопка |
Пример |
MB_DEFBUTTON1 |
Первая кнопка. Этот параметр принят по умолчанию. |
|
MB_DEFBUTTON2 |
Вторая кнопка. |
|
MB_DEFBUTTON3 |
Третья кнопка. |
|
MB_DEFBUTTON4 |
Четвертая кнопка. |
— |
Параметры, определяющие модальность окна:
Параметр |
Пояснение |
MB_APPLMODAL |
Пользователь должен ответить на запраос, прежде чем он сможет продолжить работу приложения. Но он может перейти работать в окна другого приложения или работать со всплывающими окнами данного приложения |
MB_SYSTEMMODAL |
То же самое, что и MB_APPLMODAL, но окно всегда отображается поверх других окон. Используется этот параметр для предупреждения о серьезных о серьезных ошибках, требующих немедленного вмешательсьва. |
Дополнительные параметры (могут задаваться одновременно).
Параметр |
Пояснение |
Пример |
MB_HELP |
Добавляет кнопку «Справка» в окно. |
|
MB_TOPMOST |
Помещает окно всегда поверх других окон. |
— |
MB_RIGHT |
Выраснивает текст по правому краю. |
|
