Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Топ:
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Интересное:
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Дисциплины:
2018-01-04 | 167 |
5.00
из
|
Заказать работу |
|
|
отпускания клавиши мыши.
§4.9. Механизм причаливания
В Delphi введена поддержка специального механизма Drag&Dock (перетащи и причаль), посредством которого можно причалить мышкой компонент в новое место. В механизме Drag&Dock участвуют два компонента: принимающий компонент (всегда потомок TWnControl) и причаливаемый компонент (потомок класса TControl). Принимающий (оконный) компонент имеет свойство DockSite, установленное в True, оно делает компонент контейнером- приемником в рассматриваемом механизме.
Поскольку причаливание является частью более общего механизма перетаскивания, в класс TControl введено дополнительное свойство, благодаря которому различаются способы использования мыши. В компонентах, которые могут выступать клиентами в механизме Drag&Dock, надо установить свойство DragKind в dkDock. TDragKind = (dkDrag, dkDock);
property DragKind: TDragKind read FDragKind write FDragKind
default dkDrag;
Количество установленных на форме причаливаемых компонентов (у которых DragKind=dkDock и DockSite=False) определяется свойством DockClientCount, а их список хранится в свойстве-массиве DockClients.
Для реализации причаливания в класс TControl введены следующие свойства.
Свойство AutoSize разрешает (true) или запрещает оконному компоненту менять свои размеры в зависимости от количества и размеров содержащихся в
нем дочерних компонентов.
property AutoSize: Boolean read FAutoSize write SetAutoSize
default False;
Неоконные компоненты могут не только причаливаться к оконным элементам, но и покидать их. После «отчаливания» неоконные элементы автоматически оказываются в окне, тип которого содержит свойство FloatingDockSiteClass. По умолчанию это окно содержит уменьшенный по высоте заголовок и системную кнопку закрытия, property FloatingDockSiteClass: TWinControlClass
read GetFloatingDockSiteClass write "FloatingDockSiteClass;
|
В свойстве DockOrientation можно установить (получить) ориентацию, которую будет иметь «причаливаемый» компонент в окне родителя TDockOrientation = (doNoOrient, doHorizoxital, doVertical), property DockOrientation: TDockOrientation read FDockOrientatiori
write FDockOrientation; doNoOrient - сохраняется исходная ориентация перемещаемого компонента; doHorizontal - компонент будет иметь горизонтальную ориентацию; doVertical - компонент будет иметь вертикальную ориентацию.
С помощью свойств LRDockWidth и TBDockEeight можно соответсвенно получить ширину последнего перемещенного компонента.
расположившегося горизонтально, или высоту последнего перемещенного
компонента, расположившегося вертикально, property LRDockWidth: Integer read GetLRDockWidth
write FLRDockWidth; property TBDockHeight: Integer read GetTBDockHeight
writ© FTBDockHeight; Свойства UndockHeight и UndockWidth определяют высоту и ширину последнего «отчалившего» компонента.
property OndockHeight: Integer read GetOndockHeight
write FUndockHeight; property OndockWidth: Integer read GetOndockWidth
write FUndockWidth;
Свойство Constraints с помощью объекта TSizeConstraints накладывает ограничения на возможные размеры причаливаемого компонента, property Constraints: TSizeConstraints read FConstraints
write SetConstraints;
Механизм Drag&Dock обслуживается следующими событиями. Для принимающего компонента:
· Событие OnGetSitelnf о возникает в момент начала перетаскивания и повторяется непрервно в процессе перетаскивания. Обработчик этого события должен сообщить объекту TDragDockObject, который автоматически связывается с причаливаемым объектом, некоторую дополнительную информацию (размеры, которые будет иметь этот объект, будет ли он погружен в «плавающее» окно и т.п.).
property OnGetSitelnfо: TGetSitelnfoEvent read FOnGetSitelnfo
write FOnGetSitelnfo; TGetSitelnfoEvent = procedure(Sender: TObject; DockClient: TControl;
var Inf luenceRect: TRect; MousePos: TPoint; таг CanDock: Boolean) of object; где DockClient - перетаскиваемый объект;
InfluenceReet - прямоугольник рамки перетаскиваемого объекта; MousePos - положение курсора мыши; CanDock - разрешение перетаскивать.
· Событие OnDoekOver аналогично OnDragOver, оно возникает и повторяется, когда компонент-клиент перемещается над компонентом-приемником. Возвращаемый параметр Accept установленный в false определяет, что данный оконный компонент не принимает перетаскиваемый компонент.
|
property OnDoekOver: TDockOverEvent read FOnDockOver
write FOnDockOver; TDockOverEvent = procedure(Sender: TObject; Source: TDragDockObject;
X. X: Integer; State: TDragState; var Accept: Boolean) of object;
· Событие OnDockDrop аналогично OnDragDrop, оно возникает в момент оконачания перетаскивания клиента над приемником. Этот обработчик позволяет разместить клиента Source тем или иным образом, в зависимости от его имени, типа, местоположения.
property OnDockDrop: TDockDropEvent read POnDockDroi,
write FOnDockDrop;
4. Событие OnUnDock возникает при отчаливании компонента. Обработчик этого события должен поместить в свойство Allow значение true, если компонент может покинуть границы своего владельца Sender.
property OnUnDock: TUnDockEvent read FOnUnDock write FOnUnDock; TUnDockEvent = procedure(Sender: TObject; Client: TControl;
NewTarget: TWinControl; var Allow: Boolean) of object; где, Client - компонент, который был клиентом; NewTarget - новый приемник;
Allow - определяет, можно ли перетащить клиента из приемника.
Все указанные события обрабатываются автоматически, если оба компонента содержат значение dmAutomatic в своем свойстве DragMode.
|
|
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!