Состав класса TWinControl

   
На этом шаге мы рассмотрим свойства, методы и события класса
TWinControl.

Свойства класса TWinControl
Методы класса TWinControl
События класса TWinControl

   
Класс TWinControl является базовым абстрактным классом для всех
оконных компонентов
Delphi, то есть для тех компонентов, которые:

  • могут получать фокус во время выполнения приложения. Другие
    компоненты могут отображать данные, но пользователь не может общаться с
    компонентом с помощью клавиатуры, если это не оконный компонент;
  • могут содержать другие компоненты, то есть быть
    компонентами-контейнерами, компонентами-родителями других, дочерних
    компонентов;
  • имеют дескрипторы окна.

   
Новые компоненты редко создаются непосредственно на основе
TWinControl.
Обычно они основываются на производных классах, таких, как
TCustomControl,
имеющий канву и обработку сообщений прорисовки, или на более
специализированных классах
типа TButtonControl, TCustomComboBox, TCustomEdit или
TCustomListBox.

Свойства класса TWinControl

   
Ниже приведен список основных свойств, определенных или переопределенных
в TWinControl.
Некоторые свойства, используемые в основном при разработке сложных новых
классов, в
него не включены.

   

Таблица 1. Свойства класса
TWinControl

Свойство Описание
property Brush: TBrush; Определяет цвет и стиль заполнения фона окна. Свойство только для
чтения.
property ClientOrigin: TPoint; Экранные координаты левого верхнего угла клиентской области
компонента. Свойство только для чтения.
property ClientRect: TRect; Содержит размер клиентской области компонента. Свойство только для
чтения.
property ControlCount: Integer; Число дочерних компонентов данного оконного элемента. Свойство
только для чтения.
property Controls:
TControl;
Массив дочерних компонентов оконного элемента. Свойство только для
чтения.
property Ctl3D: Boolean; Определяет, будет ли компонент выглядеть объемным или
плоским.
property Handle:
HWND;
Дескриптор оконного элемента, используемый при вызове функций
API Windows. Свойство только для чтения.
property HelpContext:
THelpContext;
Номер контекстно-зависимой встроенной справки.
property ImeMode: TImeMode;property ImeName:
String;
Определяют обработку символов в редакторах. Обычно значения по
умолчанию не изменяют.
property ParentCtl3D: Boolean; Управляет наследованием родительского свойства Ctl3D.
property ParentWindow: HWnd; Дескриптор родительского окна, не являющегося визуальным
компонентом, например, TActiveXControl. Если свойство Parent
не nil, то значение ParentWindow игнорируется.
property Showing: Boolean; Определяет, виден ли компонент в данный момент. Свойство только для
чтения.
property TabOrder:
TTabOrder;
Указывает позицию компонента в последовательности табуляции.
property TabStop:
Boolean;
Определяет, может ли пользователь перевести фокус на компонент
клавишей табуляции.
property WindowHandle: HWND; То же самое, что Handle, но это свойство можно читать и
изменять.

   
Класс TWinControl наследует также много свойств своих
предшественников.

   
К оглавлению

   
Методы класса TWinControl

   
Ниже приведены основные методы, наследуемые от TWinControl и
используемые в компонентах-потомках этого класса.

   

Таблица 2. Методы класса
TWinControl

Метод Описание
function CanFocus:
Boolean; dynamic;
Определяет, может ли компонент получать фокус, то есть получать
сообщения пользователя.
procedure ChangeScale(M, D: Integer); override; Изменяет масштаб компонента и его дочерних компонентов.
function ContainsControl(Control: TControl): Boolean; Определяет, является ли указанный компонент прямым или косвенным
наследником данного оконного элемента.
function ControlAtPos(const Pos: TPoint; AllowDisabled:
Boolean, AllowWinControls:Boolean=False): TControl;
Возвращает дочерний компонент, находящийся в указанной
позиции.
procedure DisableAlign; Временно запрещает выравнивание компонентов в оконном
элементе.
procedure EnableAlign; Отменяет действие предварительно вызванного метода
DisableAlign и вызывает Realign для выравнивания
компонентов.
function FindNextControl(CurControl: TWinControl; GoForward,
CheckTabStop, CheckParent: Boolean): TWinControl;
Возвращает очередной оконный компонент в последовательности
табуляции.
function Focused: Boolean;
dynamic;
Определяет, находится ли оконный элемент в фокусе.
procedure GetTabOrderList (List: TList); Строит список дочерних компонентов в последовательности
табуляции.
function HandleAllocated: Boolean; Проверяет наличие дескриптора окна компонента.
procedure HandleNeeded; Создает дескриптор окна, если он до этого не существовал.
procedure Invalidate; override; Сообщает о необходимости перерисовки компонентов.
procedure Realign; Выравнивает компоненты в оконном элементе.
procedure Repaint; override; Перерисовывает изображение компонента на экране с помощью
Invalidate.
procedure ScaleBy (M, D:
Integer);
Масштабирует оконный элемент и все содержащиеся в нем
компоненты.
procedure ScaleControls(M, D: Integer); Изменяет масштаб компонентов в оконном элементе, не изменяя
масштаба самого оконного элемента.
procedure ScrollBy (DeltaX,
DeltaY: Integer);
Сдвигает содержимое оконного элемента.
procedure SelectFirst; Передает фокус дочернему компоненту, первому в последовательности
табуляции.
procedure SelectNext; Передает фокус компоненту, следующему в последовательности
табуляции.
procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
override;
Задает координаты и размеры элемента.
procedure SetChildOrder(Child: TComponent; Order: Integer);
override;
Изменяет позицию компонента в списке дочерних компонентов.
procedure SetFocus;
virtual;
Передает фокус элементу (активизирует его).
procedure SetZOrder(TopMost: Boolean); override; Перемещает компонент вверх или вниз относительно других
компонентов.
procedure Update; override; Немедленная перерисовка компонента.

   
К оглавлению

   
События класса TWinControl

   
Перечислим основные события, реализованные в классе TWinControl.

   

Таблица 3. События класса
TWinControl

Событие Описание
property OnEnter: TNotifyEvent; Событие при получении элементом фокуса.
property OnExit: TNotifyEvent; Событие при потере элементом фокуса.
property property OnKeyDown: TKeyEvent;
type TKeyEvent = procedure (Sender: TObject; var
Key: Word; Shift: TShiftState) of object;
Событие при нажатии любой клавиши или кнопки мыши.
property OnKeyPress:
TKeyPressEvent;
type TKeyPressEvent = procedure (Sender: TObject; var
Key: Char) of object;
Событие при нажатии клавиши символа.
property OnKeyUp: TKeyEvent; Событие при отпускании клавиши.

   
К оглавлению

   
На следующем шаге мы рассмотрим назначение и состав класса
TApplication.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий