Составители:
Рубрика:
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
- …
- следующая ›
- последняя »