Составители:
Рубрика:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 11
- 12
- 13
- 14
- 15
- …
- следующая ›
- последняя »
