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

   
На этом шаге мы продолжим изучение некоторых событий и методов класса
TControl.
Полный перечень свойств, методов и событий приведен на шаге 16.

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

   property Enabled: Boolean;   . 

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

   property Visible: Boolean;   . 

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

   procedure Show;
   procedure Hide;    .

   
Напомним, что, так как Visible является свойством, то выражение:

   Visible:=True;

не является простым присваиванием. Оно неявно содержит все необходимые
операции для
показа элемента управления. Это же касается всех остальных свойств
компонентов, реакция
на изменение которых должна произойти немедленно.

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

   property Showing: Boolean;    .

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

   procedure UpdateControlState;      .

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

  • procedure Invalidate; - отрисовывает компонент, вызывая функцию
    API InvalidateRect;
  • procedure Update; - предусматривает дополнительные операции,
    необходимые Windows
    при отрисовке окна. Для компонентов-окон, например, в ней вызывается
    функция UpdateWindow;
  • procedure Repaint; - этот метод объединяет два предыдущих. Если
    элемент управления
    непрозрачный (имеет флаг csOpaque),
    занимаемый им прямоугольник предварительно очищается;
  • procedure Refresh; - представляет собой вызов Repaint.
    Рекомендуется для отрисовки.

   
На следующем шаге мы рассмотрим интерфейс Drag&Drop.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий