Справочник по компонентам Delphi. Часть 1
Страница 15. Активность и видимость элементов управления


 

Активность и видимость элементов управления

Активность элемента позволяет ему получать и обрабатывать сообщения от клавиатуры, мыши и таймера. Она определяется свойством:

(Pb) property Enabled: Boolean;

Значение True делает управляющий элемент активным. При смене состояния Enabled выполняется перерисовка его на экране, при которой пассивные эле­менты, как правило, изображаются серьм цветом.

Свойство, определяющее возможность видимости элемента во время испол­нения:

(Pb) property Visible: Boolean;

Во время разработки все компоненты являются видимыми. Изменять это свой­ство непосредственно во время выполнения можно, используя два следующих метода:

procedure Show;
procedure Hide;

Напомним, что, так как Visible является свойством, то выражение visible: =True не является простым присваиванием. Оно неявно содержит все необходимые операции для показа элемента управления. Это же касается всех остальных свойств компонентов, реакция на изменение которых должна произойти не­медленно.

Почему выше была применена формулировка "возможность видимости", а не "видимость"? Чтобы элемент был виден на экране, одного значения свойства Visible недостаточно. Нужно, чтобы видимыми были все предки элемента в иерархии. Реально видимость элемента можно узнать, пользуясь свойством:

(Ro) property Showing: Boolean;

Это свойство устанавливается при изменении свойства Visible. Оно доступно только для чтения. Нужно иметь в вицу, что при изменении видимости родительского элемента Showing не изменяется и может в какой-то момент не соответствовать истинному состоянию. Обновляет состояние свойства Showing для компонента метод:

procedure UpdateControlState;

Отрисовкой (изменением изображения на экране) элемента управления "заве­дуют" следующие методы:

procedure Invalidate;

Отрисовывает компонент, вызывая функцию API InvalidateRect.

procedure update;

Предусматривает дополнительные операции, необходимые Windows при отрисовке окна. Для компонентов-окон, например, в ней вызывается функция UpdateWindow.

Этот метод объединяет два предыдущих. Если элемент управления непрозрачный (имеет флаг csOpaque), занимаемый им прямоугольник предварительно очищается.

procedure Repaint;
procedure Refresh;

Представляет собой вызов Repaint. Рекомендуется для вызова отрисовки.

 
 
« Предыдущая статья   Следующая статья »