logo search
Программирование в среде Delphy / Программирование в среде Delphi

23.2. Типовые диалоги

Типовые диалоговые окна вызываются как обычные процедуры или функциями по имени диалога. Рассмотрим основные типовые диалоги.

Procedure ShowMessage(const Msg:String); – вывод на экран окна сообщения с текстом Msg и одной кнопкой Ok. Положение окна определяет сама операционная система.

Например:

Рис.23.1. Вид окна диалога процедуры ShowMessage

Procedure ShowMessagePos(const Msg:String; x,y:Integer); – вывод окна диалога, где x и y определяют положение на экране верхнего левого угла окна.

Function (const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint): Word; – вывод окна диалога с возможным выбором ответа на сообщение Msg. Здесь второй параметр определяет тип диалога по отображаемому в окне значку. Возможны следующие варианты значков:

mtWarning – предупреждение ,

mtError – ошибка ,

mtInformation – информационное сообщения – ,

mtConfirmation – знак вопроса ,

mtCustom – отсутствие значка.

В окне диалога можно расположить любое множество предопределенных кнопок с текстом:

mbYes – 'Yes' – да,

mbNo A – 'No' – нет,

mbOK – 'OK' – хорошо,

mbCancel – 'Cancel' – закончить,

mbAbort – 'Abort' – прервать,

mbRetry – 'Retry' – повторить,

mbIgnore – 'Ignore' – игнорировать,

mbAll – 'All' – для всех,

mbNoToAll – 'No to All' – не для всех,

mbYesToAll – 'Yes to All' – да, для всех.

Последний формальный параметр определяет номер странички из файла помощи, которая будут появляться, если нажать клавишу F1.

Функция возвращает код нажатой кнопки. Коды определяются текстовыми константами, такими же, как и множество кнопок, только начинаются они с приставки «mr» вместо «mb».

Рассмотрим пример использования этого диалога:

Case MessageDlg(’Продолжать выполнение программы?’,

mtConfirmation, [mbYes,mbNo],0) of

mrYes:ShowMessage(’Нажата кнопка – Да’);

mrNo:ShowMessage(’Нажата кнопка – Нет’);

end;

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

Рис.23.2 Вид окна диагола MessageDlg

Нажатие любой из кнопок будет сопровождаться появлением сообщения «Нажата кнопка – Да» или «Нажата кнопка – Нет».

Function InputBox(const ACaption, APrompt, ADefault: string): string; – вывод окна диалога для ввода строки. Здесь:

ACaption – заголовок окна диалога,

APrompt – пояснение для вводимого текста,

ADefault – начальное значение строки ввода.

Например, следующий оператор

S:=InputBox(’Заголовок окна’, ’Введите имя файла’, ’c:\my\p1.pas’);

вызовет появление следующего окна для ввода текста:

Рис.23.3. Вид окна диалога InputBox