Составители:
Рубрика:
16
(Pb) property Align: TAlign;
Оно определяет выравнивание компонента относительно границ родителя. Может принимать
одно из предопределенных значений:
TAlign = (aiNone, alTop, alBottom, alLeft, alRight, alClient);
aINone — выравнивание отсутствует;
alTop, alBottom, alLeft, alRight — выравнивание происходит по соответствующей стороне роди-
теля;
alClient — компонент занимает все пространство клиентской области родителя.
Выравнивание гарантирует, что при изменении размеров родителя относительная позиция до-
чернего элемента не меняется. Это свойство имеет приоритет над
простым изменением положения и
размеров. Если новые координаты элемента противоречат способу его выравнивания (например, пере-
мещение вверх при alBottom), изменения отвергаются и элемент возвращается к первоначальным коор-
динатам. Свойство Align незаменимо при организации панелей инструментов и строк состояния — они
могут перемещаться и видоизменяться вместе с содержащей их формой. Для временного отключения
действия
свойства Align предназначены методы:
procedure DisableAlign;
procedure EnableAlign;
Эти методы управляют возможностью выравнивания потомков данного эле-мекга, они должны
вызьшаться в паре. Для восстановления выравнивания элементов в соответствии с Align есть метод:
procedure Realign;
В следующем примере использование методов DisableAlign и EnableAlign позволяет настроить
выравнивание панели по тому краю формы, на который пользователь перетащит ее мышью:
procedure TFormI.FormCreate(Sender: TObject);
begin
Panell.Align := alBottom;
Moving := False;
end;
procedure TFormI.PanellMouseDown(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X,
Y: Integer);
begin
if not Moving then
begin
Formi.DisableAlign;
Moving := True;
end;
end;
procedure TFonnl.PanellMouseMove(Sender: TObject;Shift: TShiftState; X, Y: Integers);
begin
if Moving then with Panell do
begin
Left := Left + X - Width div 2;
Top := Top + Y - Height div 2;
Panell.Caption := Format('%d,%d',[Left,Top]);
end;
end;
procedure TFormI.PanellMouseUp(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X, Y:
Integer);
var LastPos : TPoint; rO, rl, r2 : real;
begin
if Moving then
begin
Moving := False;
(Pb) property Align: TAlign; Оно определяет выравнивание компонента относительно границ родителя. Может принимать одно из предопределенных значений: TAlign = (aiNone, alTop, alBottom, alLeft, alRight, alClient); aINone — выравнивание отсутствует; alTop, alBottom, alLeft, alRight — выравнивание происходит по соответствующей стороне роди- теля; alClient — компонент занимает все пространство клиентской области родителя. Выравнивание гарантирует, что при изменении размеров родителя относительная позиция до- чернего элемента не меняется. Это свойство имеет приоритет над простым изменением положения и размеров. Если новые координаты элемента противоречат способу его выравнивания (например, пере- мещение вверх при alBottom), изменения отвергаются и элемент возвращается к первоначальным коор- динатам. Свойство Align незаменимо при организации панелей инструментов и строк состояния — они могут перемещаться и видоизменяться вместе с содержащей их формой. Для временного отключения действия свойства Align предназначены методы: procedure DisableAlign; procedure EnableAlign; Эти методы управляют возможностью выравнивания потомков данного эле-мекга, они должны вызьшаться в паре. Для восстановления выравнивания элементов в соответствии с Align есть метод: procedure Realign; В следующем примере использование методов DisableAlign и EnableAlign позволяет настроить выравнивание панели по тому краю формы, на который пользователь перетащит ее мышью: procedure TFormI.FormCreate(Sender: TObject); begin Panell.Align := alBottom; Moving := False; end; procedure TFormI.PanellMouseDown(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if not Moving then begin Formi.DisableAlign; Moving := True; end; end; procedure TFonnl.PanellMouseMove(Sender: TObject;Shift: TShiftState; X, Y: Integers); begin if Moving then with Panell do begin Left := Left + X - Width div 2; Top := Top + Y - Height div 2; Panell.Caption := Format('%d,%d',[Left,Top]); end; end; procedure TFormI.PanellMouseUp(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var LastPos : TPoint; rO, rl, r2 : real; begin if Moving then begin Moving := False; 16
Страницы
- « первая
- ‹ предыдущая
- …
- 14
- 15
- 16
- 17
- 18
- …
- следующая ›
- последняя »