AVZ 5. Руководство пользователя
×
Меню
Индекс

16.11.4. function MessageDLG

function MessageDlg(Msg: string; DlgType: TMsgDlgType;
                    Buttons: TMsgDlgButtons; HelpCtx: Longint): Integer;
 
 
 Данная функция отображает на экране стандартное диалоговое окно и возвращает код кнопки, нажатой пользователем в диалоговом окне. Применение данной функции позволяет создавать интерактивные скрипты.
Параметры:
Msg - текст сообщения или вопроса, выводимого в диалоговом окне
DlgType - тип диалогового окна. Для задания типа диалогового окна предусмотрен набор констант:
 
С технической точки зрения тип диалогового окна определяет заголовок окна и отображаемую в окне иконку.
Buttons - код, определяющий, какой набор кнопок необходимо отобразить в диалоговом окне.  Для задания набора кнопок предусмотрен набор констант:
HelpCtx - код раздела справочной системы, в пользовательских скриптах должен быть равен нулю
 
Функция возвращает код нажатой кнопки:
Важные замечания по работе функции:
1. Если в параметр Buttons фигурирует mbCancel, то появляется поддержка закрытия диалогового окна путем нажатия клавиши ESC на клавиатуре
2. Независимо от того, включена ли кнопка типа mbCancel в состав отображаемых через параметр Buttons, при закрытии диалогового окна путем нажатия "крестика" в заголовке окна, или путем закрытия диалогового окна по Alt+F4 формируется код возврата 2 (mbCancel).
 
Примеры:
 
var
  Res : integer;
begin
  Res := MessageDLG('Выполнить операцию ?', mtConfirmation, mbYes+mbNo, 0);
  AddToLog('Код результата = ' + Inttostr(Res));
end.
 
Пример анализа возвращаемого функцией кода:
var
  FileName : string;
begin
  FileName := 'c:\trojan.exe';
  if MessageDLG('Удалить файл "'+FileName+'" ?', mtConfirmation, mbYes+mbNo, 0) = 6 then
     DeleteFile(FileName);
end.