- •Лабораторна робота 2
- •Мета роботи. Створити форму, застосовуючи поля редагування (Edit), перемикачі (RadioButton, дослівно радіокнопка), зображення (Image). Теоретичні відомості
- •Вставка додаткової форми в проект
- •Робота з декількома формами. Модальні форми
- •Реалізація діалогових вікон
- •Синтаксис процедури ShowMessage
- •Синтаксис функції MessageDlg
- •Синтаксис функції MessageBox
- •Приклади реалізації програм на тему «Умовний оператор»
- •Завдання до лабораторної роботи
- •Контрольні запитання.
- •19 Лабораторна робота №2 Delphi 16 лютого 2009 р.
Реалізація діалогових вікон
Існують процедури та функції, які автоматично створюють діалогові вікна з певним набором компонентів. Процедура 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.).