Привет, Гость! Регистрация RSS
Пятница, 03.05.2024
Главная » Статьи » Основные статьи сайта

Метод MessageBox
Программа, которую Вы пишите, должна не просто выполнять определенные функции, заложенные в ней, но и выдавать информации о невозможности выполнении тех или иных задач. Иначе говоря, Ваша программа должна «общаться» со своим пользователем. Для обычного примера откройте любой текстовый редактор на Вашем ПК и напишите что-нибудь, а после попробуйте просто закрыть, не сохраняя. И тут Ваша система выдаст предупреждение. Например, MS Word спросит у Вас: «Сохранить изменения в документе1?» и варианты выбора «Да», «Нет» или «Отмена». И так, подобные диалоговые окна предусмотрены и Borland Delphi. 

Метод MessageBox

Метод MessageBox позволяет вызывать диалоговое окно с указанным текстом, указанным заголовком и русскими надписями на кнопках (в русифицированных версиях Windows). В общем, это наиболее удачный полностью русифицируемый стандартный диалог. 

MessageBox(Handle,Текст,Заголовок,Дополнения);

Handle – это параметр, указывающий на окно владельца сообщения. Оставив его без изменения, Вы подтверждаете, что владельцем будет являться то окно, изкоторого вызывается это сообщение. Однако, Вы также можете изменить при необходимости. Например, Form1.handle будет объявлять владельцем form1, а Application.handle – владельцем само приложение.

Текст – это сам текст сообщения. Т.е. тут Вы пишете любое Ваше обращение к пользователю. Примером этому может являться тот же сообщение диалогового окна MS Word, что приводили вначале («Сохранить изменения в документе1?»).

Заголовок – это собственно и есть заголовок Вашего диалогового окна. Тут Вы называете свое окно в зависимости от темы обращения к пользователю. (например: Выход, Сохранение, Предупреждение и т.д.)

ВНИМАНИЕ! Тип текстового сообщения и тип заголовка одинаковы и представляют собой тип PChar. Это значит, что перед текстовым сообщением нужно указать:
Pchar(‘любой Ваш текст’)

Дополнения – здесь будут указаны остальные параметры Messagebox’а. Это могут быть кнопки, иконки, выбор активной кнопки по умолчанию и т.д. Рассмотрим по-подробнее.

Иконки 

MB_ICONWARNING

MB_ICONINFORMATION
MB_ICONASTERISK
MB_ICONQUESTION
MB_ICONSTOP
MB_ICONERROR

Кнопки

0

MB_OK

Одна кнопка ОК

1

MB_OKCANCEL

ОК, Отмена

2

MB_ABORTRETRYIGNORE

Прервать, Повтор, Пропустить

3

MB_YESNOCANCEL

Да, Нет, Отмена

4

MB_YESNO

Да, Нет

5

MB_RETRYCANCEL

Повторить, Отмена

Кнопки можно указать как словесным описанием (mb_OkCancel), так и номерными знаками (0, 1, 2 и т.д. в соответствии по первому столбцу таблицы 2).

И последний параметр, на который хотелось бы мне обратить Ваше внимание, это выбор активной кнопки по умолчанию – mb_DefButtonX, где Х это номер кнопки слева на право. Т.е. если у нас параметр mb_DefButton2 для кнопок mb_YesNoCancel, то по умолчанию будет выделена кнопка Нет. 

ВНИМАНИЕ! Если Вы указываете несколько параметров в категории Дополнения, то их следует разделять плюсами: MessageBox(handle, PChar('текст'),PChar('заголовок'), mb_IconStop+mb_YesNoCancel+mb_ DefButton2); 

Пример использования MessageBox

Создайте проект и на событие OnClose формы пропишите следующий код:

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
 temp:Word;
begin
temp:=MessageBox(handle, PChar('Вы хотите выйти?'), PChar('Обдумайте прежде!'), MB_YESNO+MB_ICONQUESTION);
case temp of
 idyes:Application.Terminate;
end;
end;


Нравится
Категория: Основные статьи сайта | Добавил: Dark_Green (28.02.2013)
Просмотров: 38162 | Теги: MessageBox это, Метод MessageBox, messagebox, диалоговое окно | Рейтинг: 4.3/6

Другие статьи
»
Создание и использование MDI (0)
»
Структурная обработка исключительных ситуаций (0)
»
Метод MessageBox (0)
»
Потоки (Threads). Создание многопоточных приложений (0)
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]