Уроки по Delphi



         

Урок20. Сообщения для пользователя - часть 5


MessageBox(Handle,PChar('ТЕКСТ_СООБЩЕНИЯ'),PChar('ЗАГОЛОВОК_ОКНА'),...

Это был перевод из одного типа строковой величины в другой тип.

Теперь поговорим о немного сложном параметре ТИП_СООБЩЕНИЯ. Он включает в себя иконку и кнопки.

Кнопки:

* MB_ABORTRETRYIGNORE - кнопки "Прервать", "Повторить", "Пропустить".

* MB_OK - кнопка "Ok".

* MB_OKCANCEL - кнопки "Ok", "Отмена".

* MB_RETRYCANCEL - кнопки "Повторить" и "Отмена".

* MB_YESNO - две кнопки "Да" и "Нет".

* MB_YESNOCANCEL - кнопки "Да", "Нет", "Отмена".

Для того, чтобы отобразить иконку, нужно указать:

* MB_ICONEXCLAMATION

* MB_ICONWARNING

* MB_ICONINFORMATION

* MB_ICONASTERISK

* MB_ICONQUESTION

* MB_ICONSTOP

* MB_ICONERROR

* MB_ICONHAND

Если у вас в сообщении несколько кнопок, а по умолчанию нужно выбрать определенную, то такая кнопка задается:

MB_DEFBUTTON1 - где последняя цифра указывает номер кнопки, выбранной по умолчанию. Это свойство может быть полезным, например, чтобы обезопасить данные от случайного уничтожения. "Удалить файл?". Две кнопки - "Да", "Нет". По умолчанию мы программно выбираем вторую кнопку. Если пользователь сразу нажал на Enter, не осознавая своего поступка, можно сказать по привычке, то ничего страшного не произойдет.

Как же указать параметры иконки, кнопок, кнопки по умолчанию в одном параметре ТИП_СООБЩЕНИЯ. Очень просто. Простым знаком +

Например:

MessageBox(Handle,PChar('Выйти из программы?'),PChar('Мое сообщение'),MB_ICONINFORMATION+MB_OKCANCEL+MB_DEFBUTTON2);

Выглядит это в программе так, как показано на рисунке:

Итак, MessageBox можно считать идеальной командой вывода сообщения пользователю, которая будет совместима со всеми языковыми версиями windows.

Контроль нажатия на кнопку в MessageBox мы осуществляем аналогично MessageDLG, только возвращаемая величина может принимать следующие значение (соответственно нажатой кнопке):

07.gif (1447 bytes)
 

* IDABORT

* IDCANCEL

* IDIGNORE

* IDNO

* IDOK

* IDRETRY

* IDYES




Содержание  Назад  Вперед