рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

ФункцияMessageDlg.

ФункцияMessageDlg. - раздел Информатика, Динамически загружаемые библиотеки (DLL) Функцияmessagedlg Обладает Более Широкими Возможностями. Кроме Сообщения Она ...

ФункцияMessageDlg обладает более широкими возможностями. Кроме сообщения она позволяет указать тип сообщения и отобразить в окне сообщения несколько кнопок.

Форма записи: MessageDlg(<сообщение>, <тип>, <кнопки>, <справка>);

Здесь: <сообщение>- строковая константа, отображается в окне.

<тип>- тип сообщения - может принимать несколько значений. От этих значений зависит содержимое заголовка и иконка в левом верхнем углу окна. Возможные значения типа сообщений приведены в таблице 5.28.1

Таблица 5.28.1.

Тип сообщения Описание Вид окна
mtWarning Предупреждение. Можно использовать в предупреждающих сообщениях. Например, "Вы действительно желаете удалить все данные с диска С:"
mtError Ошибка. Обычное окошко вывода сообщения об ошибки. Например, аргумент Ln меньше нуля.
mtInformation Информация. Какая-нибудь информация. Например, "Не найден файл настройки, создается заново"
mtConfirmation Запрос подтверждение Запрос на сохранение перед выходом, спрашивает перед удалением параметра, и т.п.
mtCustom Без значка. Это сообщение полностью аналогично ShowMessage    

 

Элемент <кнопки> - содержит в себе массив кнопок, которые можно показывать в сообщении.

кнопка * mbYes * mbNo * mbOK * mbCancel * mbAbort
текст на кнопке Yes No Ok Cancel Abort

Еще есть кнопки: * mbHelp, * mbRetry, * mbIgnore, * mbAll.

Массив кнопок задается в квадратных скобках []. Например, нам надо задать три кнопки Yes, No, Cancel. Это делается так [mbYes, mbNo, mbCancel].

Элемент <справка> содержит номер страницы справочной системы. Если справка отсутствует, то указывается номер 0.

MessageDLG является функцией. Она возвращает результат нажатой кнопки.

Рассмотрим пример. Пусть нам надо спросить у пользователя о дальнейших действиях перед выходом из программы.

 

1. Сохранить файл.

2. Не сохранять файл.

3. Продолжить редактирование.

 

Var R:Word; // переменная, в которой хранится результат

...R:=MessageDLG ('Сохранить файл перед выходом?', mtConfirmation, [mbYes, mbNo, mbCancel], 0);

if R=mrYes then // если нажата кнопка Yes

begin

// сохраняем файл и завершаем программу

end;

if R=mrNo then // если нажата кнопка No

begin

// завершаем работу программы без сохранения

end;

if R=mrCancel then // если нажата кнопка Cancel

begin

// продолжаем работу без сохранения

end;

MessageDLG - это очень гибкая функция, у нее есть много достоинств, но есть и один существенный недостаток - англоязычный интерфейс.

Следующая процедура использует системные сообщения пользователю вашей операционной системы. Т.е., если у вас установлена, например немецкая версия windows, то кнопки будут иметь соответствующие названия на немецком языке.

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

Первый параметр - указатель на владельца окна сообщения. Этот параметр вам пока ничего не говорит, устанавливайте его в Handle (это ссылка на окно, откуда это сообщение вызывается).

ТЕКСТ_СООБЩЕНИЯ и ЗАГОЛОВОК_ОКНА - имеют тип PChar, поэтому, во избежание недоразумений и появления неизвестного рода ошибок, выдаваемых компилятором, меняйте тип String в PChar "на ходу". Например:

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, только возвращаемая величина может принимать следующие значение (соответственно нажатой кнопке):

* IDABORT

* IDCANCEL

* IDIGNORE

* IDNO

* IDOK

* IDRETRY

* IDYES

– Конец работы –

Эта тема принадлежит разделу:

Динамически загружаемые библиотеки (DLL)

Структура DLL библиотеки... Library имя заголовок библиотеки... Uses раздел модулей...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: ФункцияMessageDlg.

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Динамически загружаемые библиотеки (DLL).
DLL позволяют ядру Windows, наряду с гибким управлением памятью, использовать минимальный объем памяти для выполнения программы. В отличие от традиционного подхода, когда подпрограммы, используемые

Interface
Procedure Pfy(a,x:Extended; Var Fy:Extended);External ‘MyDLL.dll’;   б) вызов подпрограммы по ее номеру. Все подпрограммы в библиотеке пронумерованы. И по но

Процедура ShowMessage.
Форма записи: ShowMessage(Sk); где Sk – константа или переменная строкового типа (String). На этой команде работа программы прио

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги