Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторна робота Delphi_2_2009.doc
Скачиваний:
1
Добавлен:
18.08.2019
Размер:
435.71 Кб
Скачать

Реалізація діалогових вікон

Існують процедури та функції, які автоматично створюють діалогові вікна з певним набором компонентів. Процедура ShowMessage, функції MessageDlg та MessageDlgPos відображають вікно (панель) виводу повідомлень, а функції InputBox та InputQuery- вікно(панель) для вводу інформації .Розглянемо деякі з них.

Синтаксис процедури ShowMessage

Процедура ShowMessage(const Msg: string) відображає вікно повідомлення з кнопкою Ok, натискаючи на яку користувач закриває модальне вікно(Рис.2.2.). Заголовок містить назву виконуваного файлу , а рядок Msg виводиться як текст повідомлення. Таке повідомлення є виключно інформаційним і через нього користувач не може ніяк впливати на роботу самого програмного продукту.

Рис.2.2. Найпростіше вікно повідомлення

Реалізувати появу такого повідомлення програмним шляхом можна так:

Procedure TForm1.Button1.Click(Sender: TObjekt);

Begin

ShowMessage(‘Найпростіше діалогове вікно’);

End;

Синтаксис функції MessageDlg

Функція MessageDlg(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint): Word відображає вікно повідомлення в центрі екрану і дозволяє отримати відповідь користувача. Параметр Msg містить відображуване повідомлення. Вікно може містити також картинки. Тип вікна повідомлення визначається параметром DlgType , який може приймати різні значення (Табл.2.5.).Caption визначає супровідний напис для вікна, коли DlgType визначено як mtCustom. Якщо даний параметр не використовується, то за супровідний напис слугує заголовок аплікації.

Таблиця 2.5. Значення параметра DlgType діалогового вікна

Значення Msg

Зміст

Значок

mtWarning

Повідомлення містить жовтий знак оклику

mtError

Повідомлення містить червоний сигнал стоп

mtInformation

Повідомлення містить блакитне "i"

mtConfirmation

Повідомлення містить зелений знак питання

mtCustom

Вікно не містить жодного графічного елементу, супровідний напис – назва файлу, що зараз виконується

Без значка

DlgType вказує на призначення діалогового вікна. Buttons вказує які кнопки і у якій послідовності мають з’явитися у вікні (Рис.2.3.). Для типу TmsgDlgButtons можливі декілька варіантів значень(Табл.2.6.):

Рис.2.3. Вікно повідомлення

Таблиця 2.6. Значення кнопок на діалоговій формі

Значення TmsgDlgButtons

Зміст

mbNone

Використовується для зазначення відсутності кнопки в окремих випадках (коли відсутня кнопка прийнята по замовчуванню)

mbOk

Кнопка з текстом 'Ok'

mbCancel

Кнопка з текстом 'Cancel'

mbYes

Кнопка з текстом 'Yes'

mbNo

Кнопка з текстом 'No'

mbAbort

Кнопка з текстом 'Abort' (Перервати)

mbRetry

Кнопка з текстом 'Retry' (Знову спробувати)

mbIgnore

Кнопка з текстом 'Ignore' (Проігнорувати)

HelpCtx встановлює зміст довідки для допоміжних тем, які можуть бути викликані користувачем під час виконання програми кнопкою Help чи клавішею F1.

X та Y визначають координати екрану, де вікно може з’явитись. Значення –1 означає, що вікно може з’явитися будь де у заданій величині (тільки для функції MessageDlgPos ).

Значення DefaultBtn визначає, яку кнопку з вказаних буде визначено як кнопку по замовчуванню (чи Button1, Button2, та Button3) .Якщо значення DefaultBtn – mbNone, то діалогове вікно не буде мати жодної кнопки по замовчуванню.

Bitmap – це картинка, що з’явиться у діалоговому вікні повідомлення. Якщо Bitmap - nil (Delphi), то вікно не буде містити картинки поки не буде змінено DlgType на стандартний з картинками.

MessageDlg повертає значення кнопки обраної користувачем. Нижче наведена відповідність значень(Табл.2.7.).

Таблиця 2.7. Відповідність між кнопками на діалоговій формі та значеннями, що повертає

функція

Значення TMsgDlgBtn

Значення, що повертає функція

mbOk

mrOk – 1

mbCancel

mrCancel – 2

mbYes

mrYes

mbNo

mrNo

mbAbort

mrAbort – 3

mbRetry

mrRetry – 4

mbIgnore

mrIgnore – 5

mbAll

mrAll

mbNoToAll

mrNoToAll

mbYesToAll

mrYesToAll

Приклад використання функції MessageDlg

Procedure TForm1.Button2Click(Sender: TObjeсt);

Var rez :TModalResult;

Begin rez:=MessageDlg(‘’, mtError, [mbOk,mbNo], 0);

End;

При натисканні на кнопку Button2 в результаті виконання даної процедури з’явиться діалогове вікно(Рис.2.3.).