272______________________________________________Глава 4

Приложение, использующее технику          -:?;-•.^..;^?^^^^.^I^          '
Drag&Doc. во время выполнения             ,     х^нипии^яокинЁнтов

^Документ 1 | Документ 2 | Документ 3 |      !
: Зто текст Документа 1.                    ,l|

ii             •''. Это текст Документа 4.

II                          i^

———————1

зволяющие открыть заданный пользователем файл и прочитать его в новый доку-
мент, позволяющие сохранить документ в файле, надо бы ввести при закрытии
приложения или документа запрос пользователю о необходимости сохранить изме-
ненный документ и т.п. Но мы не будем этим заниматься, так как все эти манипу-
ляции подробно рассмотрены в разделе 3.6.2 главы 3. А для того, чтобы почувство-
вать мощь технологии Drag&Drop, достаточно и сделанного вами примера. При-
чем, заметьте, что для его реализации вам пришлось написать всего несколько
операторов.

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

У оконных компонентов есть свойство Floating (только для чтения), которое
показывает, является компонент свободно плавающим окном, или размещен в ^1
другом оконном компоненте-приемнике.          .                          ^В

При переводе ранее размещенного компонента в состояние плавающего окна и ^1
при встраивании плавающего окна можно использовать свойства, в которых запо- ^1
минаются размеры компонента в предыдущем состоянии:                      ^1

UndockHeight      Высота компонента, которая была в последний раз, когда   ^1
он отображался плавающим окном                       И

UndockWidth       Ширина компонента, которая была в последний раз, ког-   •
да он отображался плавающим окном                    ^1

TBDockHeight      Высота компонента, когда он в последний раз размещал-   •
ся в контейнере вертикально                            •

LRDock Width      Ширина компонента, когда он в последний раз размещал-   f
ся в контейнере горизонтально         "                |

Пользуясь этими свойствами можно восстанавливать при необходимости пред-
шествующие размеры компонента. В частности, по умолчанию после перевода
компонента из размещенного состояния в состояние плавающего окна его размеры
восстанавливаются исходя из свойств UndockHeight и UndockWidth.

Имеется метод ManualFloat, который переводит размещенный компонент в
состояние плавающего окна. Он объявлен следующим образом:

bool   fastcall ManualFloat(const Windows::TRect sScreenPos);