Уроки по Delphi



         

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


Вы уже знаете все прелести простой команды вывода строки ShowMessage. Из недостатков отмечу, что нельзя отдельно от названия программы в панели задач, менять заголовок окошка, нельзя получить иконку в окошке, нельзя отображать другие кнопки.

В delphi есть, можно сказать, встроенная команда отображения окна сообщения. Звучит оно так:

MessageDLG(ТЕКСТ_СООБЩЕНИЯ,ТИП_СООБЩЕНИЯ,КНОПКИ,ИНДЕКС_ПОМОЩИ);

Скажу сразу, что к нашим программам мы пока не пишем дополнительно файлов справки, поэтому ИНДЕКС_ПОМОЩИ у нас всегда будет нулевым. Для информации скажу, что если у нас таковой файл имеется, то можно в таком сообщении сделать кнопку "Help". Если пользователь озадачен вопросом или сообщением, то может, не закрывая этого окна, узнать подробнее о дальнейших этапах работы при выборе того или иного пункта.

ТЕКСТ_СООБЩЕНИЯ - строковая величина. Как в предыдущей команде, сообщение показывается внутри окна.

ТИП_СООБЩЕНИЯ - может принимать несколько значений. От этих значений зависит содержимое заголовка и иконка в левом верхнем углу окна.

Тип сообщения

Описание

Вид окна

mtWarning

Можно использовать в предупреждающих сообщениях. Например, "Вы действительно желаете удалить все данные с диска С:"

02.gif (1128 bytes)

mtError

Обычное окошко вывода сообщения об ошибки. Всем знаком его вид т.к. это наиболее частое окно в windows :)

03.gif (1044 bytes)

mtInformation

Какая-нибудь информация. Например, "Не найден файл настройки, создается заново"

04.gif (1183 bytes)

mtConfirmation

Это запрос. Запрос на сохранение перед выходом, спрашивает перед удалением параметра, и т.п. На ваш собственный вкус

05.gif (1177 bytes)

mtCustom

Это сообщение полностью аналогично ShowMessage

06.gif (827 bytes)

КНОПКИ - содержит в себе массив кнопок, которые следует показывать в сообщении.

Даю перечень кнопок.

* mbYes

* mbNo

* mbOK

* mbCancel

* mbHelp

* mbAbort

* mbRetry

* mbIgnore

* mbAll

Рассказывать про каждую кнопку не буду, т.к. все равно ее название нельзя сменить. А если вам англоязычный термин непонятен, то тогда какой смысл ее применять :).




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