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

UptoLike

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

13
property OnChange: TNoti-
fyEvent; property OnChanging: TNoti-
fyEvent;
Два свойства, предусмотренные для определения поль-
зователем своей реакции на изменение данных. Событие
OnChanging вызывается во многих рассмотренных выше мето-
дах до внесения первого изменения, OnChangeпосле по-
следнего.
2.2. Элементы управления
Потомком TComponent является класс TControl — элемент управления Windows. Все то, что
видит (или может увидеть) пользователь в клиентской области вашей формы во время выполнения, по-
рождено от класса TControl (клиентская областьвся рабочая поверхность окна Windows, исключая
заголовок, полосу меню и обрамление). Таким образом, потомки TControl являются визуалъньши ком-
понентами. Далее будем называть их, как принято
в Windows, элементами управления, или, где это
уместно, просто элементами.
Отметим также подвох, связанный с названием "Библиотека визуальных компонентов" (Visual
Components Library, VCL). Называя так свою библиотеку, разработчики из фирмы Borland были абсо-
лютно правы, так как речь идет в первую очередь о новойвизуальнойтехнологии программиро-
вания. Но нужно помнить, что в VCL входит множество полноправных
невизуальных компонентов.
Например, менюоно, конечно, видимо на экране, но не в клиентской области; поэтому формально
меню не является визуальным компонентом.
Большинство из свойств, которые вы будете видеть и изменять в визуальных компонентах, по-
мещенных в Инспектор объектов, впервые описаны в классе TControl. Этот класс уже обладает "пове-
дением" — в нем
предусматривается реакция на основные события.
Объект класса TControl не является окном Windows и в силу этого не может получить фокус
ввода. Однако у него обязательно имеется родительский элемент (см. главу 2, раздел "Наследование.
Методы"), обладающий этим свойством и отвечающий за показ дочернего элемента и обработку неко-
торых поступающих ему сообщений. (Раз TControl не является окном
, то он не имеет контекста уст-
ройства для рисования. Этот контекст обеспечивает ему родитель. Тип родительского элемента
TWinControl — будет рассмотрен ниже).
Обратите внимание на терминологию: Owner — это владелец компонента, а Parent — его роди-
тель, определяемый свойством property Parent: TWinControl;
Элемент управления может обрабатывать сообщения Windows. Чтобы послать собственной
функции обработки элемента сообщение Windows вида Msg с параметрами WParam и LParam, можно
воспользоваться методом:
function Perform(Msg, WParam: Word; LParam: Longint): Longint;
С каждым элементом управления связан некий текст, который может играть роль заголовка или
редактироваться. В зависимости от роли текст может содержаться в свойствах Caption:
(РЬ) property Caption: TCaption;
TCaption = string[255];
либо Text:
property Text: TCaption;
Не задумываясь о том, в каком именно свойстве содержится текст, получить доступ к нему
можно посредством методов:
function GetTextBuf(Buffer: PChar; BufSize: Integer): Integer;
procedure SetTextBuftBuffer: PChar);
function GetTextLen: Integer;
Все три
метода работают, посылая в собственную функцию-обработчик сообщений объекта
(через вызов метода Perform) сообщения Windows вида WM_GETTEXT, WM_SETTEXT и
WM_GETTEXTLENGTH.
Курсор, который будет устанавливаться на компоненте, определен свойством:
property Cursor: TCursor;
       property OnChange: TNoti-             Два свойства, предусмотренные для определения поль-
fyEvent; property OnChanging: TNoti- зователем своей реакции на изменение данных. Событие
fyEvent;                             OnChanging вызывается во многих рассмотренных выше мето-
                                     дах до внесения первого изменения, OnChange — после по-
                                     следнего.



                                    2.2. Элементы управления
        Потомком TComponent является класс TControl — элемент управления Windows. Все то, что
видит (или может увидеть) пользователь в клиентской области вашей формы во время выполнения, по-
рождено от класса TControl (клиентская область — вся рабочая поверхность окна Windows, исключая
заголовок, полосу меню и обрамление). Таким образом, потомки TControl являются визуалъньши ком-
понентами. Далее будем называть их, как принято в Windows, элементами управления, или, где это
уместно, просто элементами.
        Отметим также подвох, связанный с названием "Библиотека визуальных компонентов" (Visual
Components Library, VCL). Называя так свою библиотеку, разработчики из фирмы Borland были абсо-
лютно правы, так как речь идет в первую очередь о новой — визуальной — технологии программиро-
вания. Но нужно помнить, что в VCL входит множество полноправных невизуальных компонентов.
Например, меню — оно, конечно, видимо на экране, но не в клиентской области; поэтому формально
меню не является визуальным компонентом.
        Большинство из свойств, которые вы будете видеть и изменять в визуальных компонентах, по-
мещенных в Инспектор объектов, впервые описаны в классе TControl. Этот класс уже обладает "пове-
дением" — в нем предусматривается реакция на основные события.
        Объект класса TControl не является окном Windows и в силу этого не может получить фокус
ввода. Однако у него обязательно имеется родительский элемент (см. главу 2, раздел "Наследование.
Методы"), обладающий этим свойством и отвечающий за показ дочернего элемента и обработку неко-
торых поступающих ему сообщений. (Раз TControl не является окном, то он не имеет контекста уст-
ройства для рисования. Этот контекст обеспечивает ему родитель. Тип родительского элемента —
TWinControl — будет рассмотрен ниже).
        Обратите внимание на терминологию: Owner — это владелец компонента, а Parent — его роди-
тель, определяемый свойством property Parent: TWinControl;
        Элемент управления может обрабатывать сообщения Windows. Чтобы послать собственной
функции обработки элемента сообщение Windows вида Msg с параметрами WParam и LParam, можно
воспользоваться методом:
               function Perform(Msg, WParam: Word; LParam: Longint): Longint;
        С каждым элементом управления связан некий текст, который может играть роль заголовка или
редактироваться. В зависимости от роли текст может содержаться в свойствах Caption:
               (РЬ) property Caption: TCaption;
               TCaption = string[255];
               либо Text:
               property Text: TCaption;
        Не задумываясь о том, в каком именно свойстве содержится текст, получить доступ к нему
можно посредством методов:
               function GetTextBuf(Buffer: PChar; BufSize: Integer): Integer;
               procedure SetTextBuftBuffer: PChar);
               function GetTextLen: Integer;
        Все три метода работают, посылая в собственную функцию-обработчик сообщений объекта
(через вызов метода Perform) сообщения Windows вида WM_GETTEXT, WM_SETTEXT и
WM_GETTEXTLENGTH.
        Курсор, который будет устанавливаться на компоненте, определен свойством:
               property Cursor: TCursor;


                                               13