Організація діалогових вікон в delphi засобами процедур і функцій, мови програмування

Давайте розглянемо процедуру і пару функцій 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 форми створимо заголовок нашої програми:

На форму помістимо просту кнопку і створимо для неї обробник:

Організація діалогових вікон в delphi засобами процедур і функцій, мови програмування

Запустивши додаток клацнемо по кнопці. Перед нами з'явитися діалогове вікно наведене зліва. Натиснувши на кнопки OK і Cancel ми отримаємо два різних повідомлення інформують нас про те, яку кнопку ми вибрали.

MessageDlgPos (const Msg: String; Atype: AMsgDlgType; Abuttons: TMsgDlgButtons; HelpCtx: Longint; X, Y: Integer): Word - ця функція відрізняється від MessageDlg, тим що у неї є два параметри X і Y, що встановлюють положення на екрані.

Підсумок: нами були розглянуті: процедура ShowMessage і функції MessageDlg і MessageDlgPos. За допомогою них ми навчилися виводити інформацію для інформації користувача.

Спілкуйтеся зі мною