Давайте розглянемо процедуру і пару функцій Delphi для створення простих діалогових вікон виведення повідомлень.
Це процедура ShowMessage. функції MessageDlgPos і MessageDlg. вони показують панель (вікно) виводу повідомлень.
ShowMessage (const Msg: String) - ця процедура виводить вікно з повідомленням і кнопкою Ok. У заголовку міститься назва виконуваного файлу, якщо в опціях програми не заданий параметр Title, якщо заданий то виводитися буде він. Рядок Msg - буде виводитися як текст повідомлення.
MessageDlg (const Msg: String; AType: TMsgDlgType; Abuttons: TMsgButtons; HelpCtx: Longint): Word - функція показує діалогове вікно повідомлення в центрі екрана і дає можливість користувачу відповісти на повідомлення. Msg - параметр відповідає за текст, що виводиться повідомлення.
Тип виведеного вікна повідомлення залежить від параметра AType, список можливих значень якого наступний:
- mtErrore - на тлі червоного кола розташований білий косий хрест і заголовок вікна - Error;
- mtWarning - на тлі жовтого трикутника розташований чорний знак оклику - "!" і заголовок вікна - Warning;
- mtConfirmation на тлі білого кола розташований синій знак "?" і заголовок вікна - Confimation;
- mtInformation - на тлі білого кола розташована синия буква "i" і заголовок вікна - Information;
- mtCustom - діалогове вікно не містить малюнка, в заголовку виводитися ім'я виконуваного файлу програми або Title властивості Application додатки.
AButtons - параметр, який задає набір кнопок на діалогової формі і може приймати довільні комбінації з значень:
- кнопка Yes - mbYes,
- кнопка Ok - mbOk,
- кнопка No - mbNo,
- кнопка Cancel - mbCancel,
- кнопка Abort - mbAbort,
- кнопка Retry - mbRetry,
- кнопка Ignore - mbIgnore,
- кнопка All - mbAll,
- кнопка Help - mbHelp.
Список з необхідних, перерахованих кнопок повинен бути укладений у квадратні дужки.
Крім перерахування окремих кнопок, є можливість задати часто використовуваним сполученням кнопок значеннями спеціальних констант:
- кнопки OK і Cancel - mbOkCancel,
- кнопки Yes, No і Cancel - mbYesNoCancel,
- кнопки Abort, Retry і Ignore - mbAbortRetryIgnore.
Ці константи не треба брати в дужки, так як вони є зумовленими множинами.
Якщо ми всередині дужок не оголосив список, то в діалоговому вікні не буде жодної кнопки і користувачеві доведеться закривати вікно системними кнопками Windows.
При натисканні на будь-якій кнопці (крім Help) результат повертається функцією MessageDlg (властивість ModalResult), а сама форма закривається. Результат може бути одним зі значень списку:
mrOk mrRetry mrNo
mrNone mrAbort mrYes
mrCancel mrIgnore mrAll
Параметр HelpCtx задає тему довідки. Її можна викликати під час показу діалогового вікна клавішею F1. Зазвичай цей параметр встановлюється рівним нулю і довідка не виводитися.
Ця функція корисна для швидкого створення додатка, але у неї є один великий мінус в написах і заголовках на кнопках тексти англійські, так що при виведенні російських повідомлень виходить суміш російської з англійським.
Давайте створимо просте додаток для закріплення матеріалу.
У обробнику форми onCreate форми створимо заголовок нашої програми:
На форму помістимо просту кнопку і створимо для неї обробник:
Запустивши додаток клацнемо по кнопці. Перед нами з'явитися діалогове вікно наведене зліва. Натиснувши на кнопки OK і Cancel ми отримаємо два різних повідомлення інформують нас про те, яку кнопку ми вибрали.
MessageDlgPos (const Msg: String; Atype: AMsgDlgType; Abuttons: TMsgDlgButtons; HelpCtx: Longint; X, Y: Integer): Word - ця функція відрізняється від MessageDlg, тим що у неї є два параметри X і Y, що встановлюють положення на екрані.
Підсумок: нами були розглянуті: процедура ShowMessage і функції MessageDlg і MessageDlgPos. За допомогою них ми навчилися виводити інформацію для інформації користувача.