Програмування на delphi


Програмування на delphi

Програмувати інтерфейс - це звичайно здорово, якщо що розробляється матиме мало елементів управління (таке, як наприклад keygen!). В іншому випадку може виявитися так, що левову частку коду ми напишемо для створення інтерфейсу (розташування контролів, їх вирівнювання і т.д.), і лише кілька рядків становитимуть функціональне наповнення програми. У таких випадках доцільніше використовувати ресурси, про що і піде мова в даній статті.

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

Почнемо з простого, створимо форму з декількома елементами управління, і далі, по ходу справи будемо її допрацьовувати і наділяти функціоналом. Як працювати з ресурсами в Delphi я вже писав і повторюватися не буду, так що кому цікаво, читаємо статтю "Зберігання ресурсів всередині виконуваного файлу і їх використання".

З чого ж почати? Звичайно ж, зі створення ресурсу, з якого ми і отримаємо вікно. Розберемо структуру цього ресурсу.


Оголошується вікно з ідентифікатором DLG_WINDOW, вказуються розміри і положення вікна, заголовок, параметри шрифту і стилі. Усередині фігурних дужок перераховуються елементи управління, після ключового слова CONTROL вказуємо необхідні параметри: текст, ідентифікатор, клас, стилі, позицію і розміри, при необхідності вказується розширений стиль. Нічого складного немає, суть дуже нагадує програмний спосіб створення елементів управління, різниця лише в синтаксисі. Замість фігурних дужок допускається використання ключових слів BEGIN і END.

В якості ідентифікаторів не обов'язково використовувати константи, але мені це видається більш зручним, так що наведений вище код міг би виглядати і так:


Половина справи зроблена, залишилося створити додаток на основі цього ресурсу, для чого компілюємо його, переходимо в Delphi і пишемо:


Складно уявити собі що то простіше, діалогове вікно з усіма елементами управління створюється однією будівництвом! Все що потрібно - вказати ідентифікатор вікна і призначити йому віконну процедуру, в якій поки що обробляється тільки повідомлення про закриття програми.

Зараз програмі явно не вистачає індивідуальності, яку їй могла б надати іконка. Для цього створимо ще один файл ресурсів (взагалі то можна все писати і в одному файлі, але в прикладі я буду робити окремі файли, вважаючи що це спростить освоєння матеріалу).


Спочатку йде ідентифікатор ресурсу, потім його тип, і в кінці шлях до файлу з іконкою. До речі, іконка не обов'язково повинна бути одна (в даному прикладі їх п'ять), можете надати користувачеві можливість самому вибрати ту, яка йому більше сподобається.

Призначити іконку вікна можна в будь-який момент, але все ж краще зробити це в момент запуску програми, для чого потрібно обробити повідомлення WM_INITDIALOG:


Створюємо файл ресурсу:

Схожі статті