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

UptoLike

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

17
Panell.Caption := '';
LastPos := Point(Panell.Left + X, Panell.Top + Y) ;
if LastPos.X<=0 then LastPos.X := 1;
if LastPos.X>=ClientWidth then LastPos.X := ClientWidth-1;
if LastPos.Y<=0 then LastPos.Y := 1;
if LastPos.Y>=ClientHeight then LastPos.Y := ClientHeight-1;
rO := ClientWidth/ClientHeight;
rl := LastPos.X/LastPos.Y;
r2 := LastPos.X/(ClientHeight - LastPos.Y);
with Panell do if rl < rO then if r2 < rO
then Align := alLeft else
Align := alBottom else if r2 < rO
then Align := alTop else Align := alRight;
Formi.EnableAlign;
end;
end;
2.4. Активность и видимость элементов управления
Активность элемента позволяет ему получать и обрабатывать сообщения от клавиатуры, мыши
и таймера. Она определяется свойством:
(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 при отри-
совке окна. Для компонентов-окон, например, в ней вызывается функция Up-
dateWindow.
                      Panell.Caption := '';
                      LastPos := Point(Panell.Left + X, Panell.Top + Y) ;
                      if LastPos.X<=0 then LastPos.X := 1;
                      if LastPos.X>=ClientWidth then LastPos.X := ClientWidth-1;
                      if LastPos.Y<=0 then LastPos.Y := 1;
                      if LastPos.Y>=ClientHeight then LastPos.Y := ClientHeight-1;
                      rO := ClientWidth/ClientHeight;
                      rl := LastPos.X/LastPos.Y;
                      r2 := LastPos.X/(ClientHeight - LastPos.Y);
                      with Panell do if rl < rO then if r2 < rO
                      then Align := alLeft else
                      Align := alBottom else if r2 < rO
                      then Align := alTop else Align := alRight;
                      Formi.EnableAlign;
               end;
       end;

                      2.4. Активность и видимость элементов управления
        Активность элемента позволяет ему получать и обрабатывать сообщения от клавиатуры, мыши
и таймера. Она определяется свойством:
               (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 при отри-
                       совке окна. Для компонентов-окон, например, в ней вызывается функция Up-
                       dateWindow.



                                                  17