Программирование в Delphi. Барков И.А - 18 стр.

UptoLike

Составители: 

18
procedure Repaint; Этот метод объединяет два предыдущих. Если элемент управления непрозрач-
ный (имеет флаг csOpaque), занимаемый им прямоугольник предварительно
очищается.
procedure Refresh; Представляет собой вызов Repaint. Рекомендуется для вызова отрисовки.
2.5. Оконные элементы управления
Понятие окна Windows инкапсулировано в потомке TControlклассе TWinControl. Такой
компонент получает соответствующий атрибут _ дескриптор окна, определяемый свойством:
(Ro) property Handle: HWnd;
С помощью этого дескриптора вы можете вызывать функции API Windows, если средств VCL
вам недостаточно для решения задачи. Компоненты-потомки TWinControlв дальнейшем будем на-
зывать оконными элементами управления, а элементы управления, не имеющие дескриптора окна, —
неоконными.
Возможны
ситуации, когда компонент уже создан, но еще не имеет дескриптора как окно. Два
метода управляют созданием дескриптора:
function HandleAllocated:Boolean;
procedure HandleNeeded;
Первая сообщает о наличии выделенного дескриптора, а вторая при его отсутствии посылает
запрос на его выделение. Такой метод должен применяться перед каждой операцией, требующей деск-
риптора.
Важным свойством TWinControl является то, что он может
содержать другиедочерние
элементы управления. Они упорядочены в виде списка. Если быть точным, то списков на самом деле
двадля неоконных и оконных дочерних элементов. Но "видны" они как один объединенныйсна-
чала первый, потом второй. Методы и свойства для работы с этим списком приведены в таблице:
(Ro) property Controls[Index: Integer]:
TControl;
Содержит список
дочерних элементов.
(Ro) property ControlCount: Integer; Содержит число элементов в списке.
function ContainsControl(Control:
TControl): Boolean;
Проверяет наличие элемента в списке.
function ControlAtPos(const Pos:
TPoint; AllowDisabled: Boolean):
TControl ;
Отыскивает в списке элемент, которому принадлежит заданная
точка (в системе координат собственной клиентской области).
Флаг AllowDisabled показывает, разрешен ли поиск среди пас-
сивных (свойство Enabled которых равно False) элементов.
procedure InsertControl(AControl:
TControl) ;
Вставляет элемент в конец списка.
procedure RemoveControl(AControl:
TControl);
Удаляет элемент из списка.
procedure Broadcast(var Message); Рассылает всем дочерним элементам из списка сообщение Mes-
sage.
С каждым оконным компонентом можно связать контекстную помощь. Контекст помощи
это индекс, указывающий на определенную информацию в файле справочной системы, связанном с
приложением:
property HelpContext: THelpContext;
Когда компонент находится в фокусе, то при нажатии клавиши <F1> загружается система кон-
текстной помощи, и пользователь сразу получает информацию, связанную с заданным контекстом. Ес-
ли контекст
равен нулю, то система пытается отыскать в цепочке родительских компонентов первый,
procedure Repaint;       Этот метод объединяет два предыдущих. Если элемент управления непрозрач-
                         ный (имеет флаг csOpaque), занимаемый им прямоугольник предварительно
                         очищается.
procedure Refresh;       Представляет собой вызов Repaint. Рекомендуется для вызова отрисовки.



                                    2.5. Оконные элементы управления
        Понятие окна Windows инкапсулировано в потомке TControl — классе TWinControl. Такой
компонент получает соответствующий атрибут _ дескриптор окна, определяемый свойством:
               (Ro) property Handle: HWnd;
        С помощью этого дескриптора вы можете вызывать функции API Windows, если средств VCL
вам недостаточно для решения задачи. Компоненты-потомки TWinControl — в дальнейшем будем на-
зывать оконными элементами управления, а элементы управления, не имеющие дескриптора окна, —
неоконными.
        Возможны ситуации, когда компонент уже создан, но еще не имеет дескриптора как окно. Два
метода управляют созданием дескриптора:
               function HandleAllocated:Boolean;
               procedure HandleNeeded;
        Первая сообщает о наличии выделенного дескриптора, а вторая при его отсутствии посылает
запрос на его выделение. Такой метод должен применяться перед каждой операцией, требующей деск-
риптора.
        Важным свойством TWinControl является то, что он может содержать другие — дочерние —
элементы управления. Они упорядочены в виде списка. Если быть точным, то списков на самом деле
два — для неоконных и оконных дочерних элементов. Но "видны" они как один объединенный — сна-
чала первый, потом второй. Методы и свойства для работы с этим списком приведены в таблице:
(Ro) property Controls[Index: Integer]: Содержит список дочерних элементов.
TControl;
(Ro) property ControlCount: Integer;    Содержит число элементов в списке.
function ContainsControl(Control:      Проверяет наличие элемента в списке.
TControl): Boolean;
function ControlAtPos(const Pos:       Отыскивает в списке элемент, которому принадлежит заданная
TPoint; AllowDisabled: Boolean):       точка (в системе координат собственной клиентской области).
TControl ;                             Флаг AllowDisabled показывает, разрешен ли поиск среди пас-
                                       сивных (свойство Enabled которых равно False) элементов.

procedure InsertControl(AControl:      Вставляет элемент в конец списка.
TControl) ;
procedure RemoveControl(AControl:      Удаляет элемент из списка.
TControl);
procedure Broadcast(var Message);      Рассылает всем дочерним элементам из списка сообщение Mes-
                                       sage.

       С каждым оконным компонентом можно связать контекстную помощь. Контекст помощи —
это индекс, указывающий на определенную информацию в файле справочной системы, связанном с
приложением:
              property HelpContext: THelpContext;
       Когда компонент находится в фокусе, то при нажатии клавиши  загружается система кон-
текстной помощи, и пользователь сразу получает информацию, связанную с заданным контекстом. Ес-
ли контекст равен нулю, то система пытается отыскать в цепочке родительских компонентов первый,



                                                  18