Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка интерфейса Drag & Dock.doc
Скачиваний:
7
Добавлен:
15.11.2019
Размер:
192.51 Кб
Скачать

3. Задания на самостоятельную работу.

    • Используя подходящее событие на стороне дока (OnGetSiteInfо, OnDockOver или OnDockDrop) создайте обработчик формы Aqua, позволяющий выполнять парковку на форму только потомков класса TClient.

Добавьте код, сигнализирующий о происходящих событиях в процессе парковки.

    • Разместите на окне Tree компонент TTreeView. Выполните с его помощью просмотр файлов в текущем каталоге.

    • Компоненты можно не только переносить с одного дока на другой, но и отпускать в любом месте. Хотя сам по себе компонент TControl и его потомки не являются окнами Windows, но специально для этого случая создается окно-носитель. Это форма, которая обладает свойствами дока и создается в момент отпускания элемента управления вне других доков. Внешне она ничем нс отличается от обычной стандартной формы.

Класс создаваемого окна определяет свойство FloatingDocksiteClass. По умолчанию для большинства компонентов значение этого свойства равно TCustomDockForm. Для того чтобы плавающая панель инструментов выглядела по-особенному, надо создать потомка от TCustomDockForm и связать свойство FloatingDockSiteClass с порожденным классом.

TMyCustomFloatingForm =class(TCustomDockForm)

public

constructor Create(AOwner: TComponent); override;

end;

constructor TMyCustomFloatingForm.Create

(AOwner: TComponent);

begin

inherited Create(AOwner);

BorderStyle := bsNone;

end;

procedure TFormI.FormCreate(Sender: TObject);

begin

ToolBarl.FloatingDockSiteClass := TMyCustomFloatingForm;

end;

В этом примере создается несущее окно плавающей панели инструментов, не содержащее заголовка.