Функции вывода сообщений

Чаще всего обработка исключений заключается в выводе пользователю сообщений об ошибке, устранении последствий ошибки (повторный ввод исходных данных) и повторении операций, вызвавших исключение.

Для вывода различных сообщений в C++Builder могут быть использованы функции MessageBox и ShowMessage.

Функция MessageBox – является методом класса TApplication ипредназначена для вывода сообщения пользователю.

Формат функции:

int __fastcall MessageBox (char * Текст, char * Заголовок, int Flag );

Результатом вызова функции MessageBox является обобщенное диалоговое окно с сообщением, имеющее одну или большее количество кнопок. Параметр «Текст» определяет сообщение в диалоговом окне. Параметр «Заголовок» задает заголовок диалогового окна.

Значение параметра «Текст» может быть больше чем 255 символов в случае необходимости. Длинные сообщения автоматически будут разбиты на строки. Значение «Заголовок» появляется в названии диалогового окна. Заголовки могут быть больше чем 255 символов, но они не переносятся по словам. Длинный заголовок образует широкое окно сообщения.

Параметр Flag задает количество и тип кнопок диалогового окна. Возможные значения параметра Flag приведены в таблице 1.

 

Таблица 1

Flag Значение
MB_OK Окно сообщения содержит одну кнопку: ОК. Это значение по умолчанию
MB_OKCANCEL Окно сообщения содержит две кнопки: ОК и Отмена
MB_ABORT-RETRYIGNORE Окно сообщения содержит три кнопки: Аварийное прекращение работы, Повторите, и Игнорировать
MB_RETRY-CANCEL Окно сообщения содержит две кнопки: Повторите и Отмена
MB_YESNO Окно сообщения содержит две кнопки: Да и Нет
MB_YESNO-CANCEL Окно сообщения содержит три кнопки: Да, Нет, и Отмена

 

 

Возвращаемые значения функции MessageBox представлены в таблице 2.

Таблица 2

Константа Числовое значение Описание
IDABORT 3 Пользователь выбрал кнопку Abort
IDCANCEL 2      “            “     “  Cancel
IDIGNORE 5      “            “     “  Ignore
IDNO 7      “            “     “  No
IDOK 1      “            “     “  OK
IDRETRY 4      “            “     “  Retry
IDYES 6      “            “     “  Yes

 

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

Например, если окно сообщения имеет кнопку Cancel, то функция возвращает значение IDCANCEL при нажатой клавише ESC или кнопке Cancel. Если окно сообщения не имеет кнопки Cancel, нажатие ESC не производит никакого эффекта.

Вызов функции MessageBox осуществляется следующим образом:

Application->MessageBox("Произошла ошибка - повторить?", “Error”, MB_OKCANCEL)

Частный случай MessageBox – это функция ShowMessage. В отличие от MessageBox ShowMessage выдаёт на экран окно сообщения с одной кнопкой ОК и не возвращает значение. Вызов функции ShowMessage осуществляется следующим образом:

ShowMessage(“ShowMessage”);

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: