Переносить компоненты можно не только с помощью мыши, но и программно. Для этого есть пара методов ManualDock и ManualFloat. В приводимом ниже примере нажатие КНОПКИ С именем BitBtnl переносит форму custForm на док MainForm. Panell и размещает ее по всей доступной площади (параметр выравнивания alciient). Нажатие КНОПКИ BitBtn2 снимает эту форму с дока и выравнивает ее по центру экрана. В свойствах UndockHeight и Undockwidth хранятся высота и ширина элемента управления на момент, предшествующий помещению на док:

procedure TMainForm.BitBtnlClick(Sender: TObject); begin.

CustForm.ManualDock(MainForm.Pane11,nil,alClient);
end;

procedure TMainForm.BitBtn2Click(Sender: TObject); begin with CustForm do

begin ManualFloat(Rect((Screen.Width-UndockWidth) div 2,

(Screen.Height-UndockHeight) div 2, (Screen.Width+UndockWidth) div 2, (Screen.Height+UndockHeight) div 2)

);
end;
Программирование в Delphi 7

Рис. 27.3. Плавающие панели инструментов без заголовка окна

Полное рассмотрение внутреннего устройства механизмов Ога§-апо!-Воск потребовало бы расширения объема этой главы. Тем, кто хочет использовать их на все 100%, рекомендуем обратиться к свойствам иэеооскмападег и DockManager. Последнее представляет собой СОМ-интерфейс, позволяющий расширить возможности дока, вплоть до записи его состояния в поток (класс TStream).

Усовершенствованное масштабирование

В класс TControl добавлены свойства, позволяющие упростить масштабирование форм и находящихся на них компонентов.

СВОЙСТВО Anchors:

TAnchorKind = (akLeft, akTop, akRight, akBottom) ;
TAnchors = set of TAnchorKind;
property Anchors: TAnchors;

отвечает за привязку компонентов к определенным краям формы при масштабировании. По умолчанию любой компонент привязан к верхней и левой сторонам ([akLeft, актор]), т. е. не двигается при стандартном масштабировании. Но, изменив значение этого свойства, можно сделать так, чтобы компонент находился, к примеру, все время в нижнем правом углу.

С другой стороны, если прикрепить все четыре стороны, то получится интересный и нужный во многих случаях эффект. Такой компонент увеличивается и уменьшается вместе с формой; но в то же время сохраняется расстояние до всех четырех ее краев.

Свойство constraints представляет собой набор ограничений на изменение размеров компонента. Оно содержит четыре свойства: MaxHeight, MaxWidth, MinHeight и Minwidth. Как легко догадаться из названий, размеры компонента могут меняться только в пределах значений этих четырех свойств.

Наконец, большинство элементов управления получили свойство AutoSize, позволяющее им автоматически масштабироваться при изменении содержимого (скажем, надписи на кнопке).

Управление фокусом

В процессе работы приложения тот или иной элемент управления получает фокус ввода в зависимости от действий пользователя. Очень часто передача фокуса между элементами управления должна быть упорядочена. Например, при вводе данных в приложениях баз данных пользователь должен иметь максимум удобств для обеспечения хорошей производительности труда. Для этого он должен работать только с клавиатурой, не отвлекаясь на лишние операции по передаче фокуса в нужный компонент при помощи мыши.


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Июнь
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс