Діалогові вікна в Дельфи (процедури і функції, що реалізують діалогові вікна), delphi-faq

функція MessageDlg

Функція MessageDlg (const Msg: String; AType: TMsgDlgType; AButtons: TMsgDlgButtons; Helpctx: Longint). word відображає вікно повідомлення в центрі екрана і дозволяє отримати відповідь користувача. Параметр Msg містить відображається повідомлення.

Вікно повідомлення може ставитися до різних типів і поряд з повідомленням містити картинки. Тип вікна повідомлення визначається параметром АТУР. який може набувати таких значень:

  • mtWarning (вікно містить чорний знак оклику в жовтому трикутнику і заголовок Warning);
  • mtError (вікно містить білий косий хрест в червоному колі і заголовок Error);
  • mtInformation (вікно містить синю букву «i» в білому колі і заголовок Information);
  • mtConfirmation (вікно містить синій знак «?» в білому колі і заголовок Confirmation);
  • mtCustom (вікно не містить картинки, в заголовку виводиться назва виконуваного файлу програми).

Параметр AButtons задає набір кнопок вікна і може приймати будь-які комбінації наступних значень:

Для значення параметра AButtons є дві константи - mbYesNoCancel і mbOKCancel. задають зумовлені набори кнопок:

  • mbYesNoCancel = [mbYes, mbNo, mbCancel];
  • mbOKCancel = [mbOK, mbCancel]

При натисканні будь-якої із зазначених кнопок (крім кнопки Help) діалогове вікно закривається, а результат (властивість ModalResult) повертається функцією MessageDlg.

Параметр HelpCtx визначає контекст (тему) довідки, яка з'являється під час відображення діалогового вікна при натисканні користувачем клавіші . Зазвичай! значення цього параметра дорівнює нулю.

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

При натисканні кнопки Button1 проводиться найпростіша перевірка дати. Код дати вводиться в поле редагування DateEdit1. розміщене в формі. Якщо довжина дати менше допустимої, видається попередження з запитом на автоматичну корекцію (див. Скріншот). При позитивному відповіді користувача в поле дати записується поточна дата, при негативному - фокус передається полю введення дати.

функція MessageDlgPos

Функція MessageDlgPos (const Msg: String; AType: TMsgDlgType; AButtons: TMsgDlgButtons; HelpCtx: Longint; X, Y: Integer). Word відрізняється від функції MessageDlg наявністю параметрів Х і Y, які керують положенням вікна на екрані.

функція InputBox

Функція InputBox (const ACaption, APrompt, ADefault: String): String відображає діалогове вікно для введення рядка тексту. Вікно виводиться в центрі екрану і містить поле введення з написом, а також кнопки ОК і Cancel.

Параметр ACaption задає заголовок вікна, а параметр APrompt містить пояснювальний текст до поля введення. Параметр ADefault визначає рядок, що повертається функцією при відмові користувача від введення інформації (натискання кнопки Cancel або клавіші ).

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