Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП_самостійне_опрацюв.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.22 Mб
Скачать

Тема 1.3. Бібліотека візуальних компонентів vcl та її базові класи.

    1. Клас TWinControl.

    2. Клас TСustomControl.

    3. Клас TGraphicControl.

1. Клас tWinControl.

Клас TWinControl забезпечує створення і використовування віконних елементів управління (див. вище). Нагадаємо, що віконний елемент управління має системний дескриптор вікна hwnd. Проте віконними елементами є не тільки форми і діалоги, але і більшість стандартних елементів управління.

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

Дескриптор вікна міститься у властивості

property Handle: HWND;

При створенні віконного елемента управління викликається метод

procedure CreateParams(var Params: TCreateParams); virtual;

який заповнює структуру TCreateParams необхідними значеннями:

type

TCreateParams = record

Caption: PChar;

Style: DWORD;

ExStyle: DWORD;

X, В: Integer;

Width, Height: Integer;

WndParent: HWND;

Param: Pointer

WindowClass: TWndClass;

WinClassName: array[0..63] Char;

end;

Для створення дескриптора вікна для елемента управління використовується метод

procedure CreateHandle; virtual;

Операційна система створює дескриптор вікна тільки разом з самим вікном. Тому метод CreateHandle тільки створює вікно, а для привласнення властивості Handle значення дескриптора вікна викликає метод createwnd.

Для передачі фокусу між елементами управління на одній формі часто використовується клавіша <Таb>. Порядок переміщення фокусу між елементами визначається властивістю

type TTabOrder = -1..32767;

property TabOrder: TTabOrder;

В першу чергу фокус передається компоненту з мінімальним значенням властивості. Далі – за збільшенням значення. При перенесенні компоненту на форму це значення задається автоматично відповідно до числа компонентів на формі.

Компонент можна примусити не відгукуватися на клавішу <Таb>. Для цього властивості

property TabStop: Boolean;

необхідно привласнити значення False.

Для передачі фокусу прямо елементу управління застосовується метод

procedure SetFocus; virtual;

Щоб взнати, чи має елемент управління фокус, в даний час використовується метод

function Focused: Boolean; dynamic;

Всі віконні елементи мають рамку по контуру (втім, вона може бути не видно). Її параметри задаються групою властивостей:

property BevelEdges: TBevelEdges;

задає, які сторони входять в рамку;

property Bevellnner: TBevelCut; property BevelOuter: TBevelCut;

задають зовнішній вигляд рамки;

property BevelKind: TBevelKind;

визначає стиль рамки;

property BevelWidth: TBevelWidth;

задає розмір рамки.

Властивість property Brush: TBrush;

визначає параметри кисті (колір і заповнення), якій малюється фон елемента.

Віконний елемент може містити інші компоненти. Для управління ними застосовується індексований список покажчиків, що представляють властивість

property Controls[Index: Integer]: TControl;

Загальне число дочірніх елементів управління міститься у властивості

property ControlCount: Integer;

Зовнішній вигляд віконного елемента визначається властивістю

property Ctl3D: Boolean

При значенні True елемент управління має тривимірний вигляд. Інакше елемент виглядає плоским.

Для виклику теми контекстної допомоги для конкретного елемента управління призначена властивість

type THelpContext = -MaxLonglnt..MaxLonglnt;

property HelpContext: THelpContext;

Значення властивості повинне відповідати номеру теми у файлі допомоги.

В класі TwinControl додана можливість використовування редакторів способу введення (Input Method Editor, IME). Такі редактори дозволяють пристосувати стандартну розкладку клавіатури для символьних мов для введення нестандартних символів (ієрогліфів і т. д.). Редактори IMЕ є спеціально встановлюваним в операційній системі програмним забезпеченням (ПЗ). Ім’я такого редактора задається у властивості ImeName. Режим роботи редактора визначається властивістю ImeMode.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]