Delphi 6 in Team: Anwendungsentwicklung mit VCL und API

Delphi 6 in Team: Anwendungsentwicklung mit VCL und API

von: Redaktion Toolbox (Hrsg.)

C & L Computer- und Literaturverlag GmbH, 2001

ISBN: 9783932311857 , 920 Seiten

Format: PDF, OL

Kopierschutz: DRM

Windows PC,Mac OSX Apple iPad, Android Tablet PC's Online-Lesen für: Windows PC,Mac OSX,Linux

Preis: 20,00 EUR

Mehr zum Inhalt

Delphi 6 in Team: Anwendungsentwicklung mit VCL und API


 

KAPITEL 3
Docking
(S. 137-138)

von Rainer Reusch

»Dockable Toolbars« und alles, was sich an ein Fenster kleben läßt, versteht Microsoft als neue Form der Benutzeroberfläche von Programmen, die dem Anwender einen gewissen Spielraum in der Gestaltung derselben bieten soll. Seit Delphi 4 beherrschen die meisten visuellen Komponenten dieses Feature. Anwendungen, die auf dem »Multiple Document Interface« (MDI) basieren, werden optisch gerne als altbacken angesehen. Windows wird immer bunter und das MDI als Mittel zur Aufteilung von Funktionsblöcken eines Programmes wirkt zu statisch. Man mag es als Spielerei ansehen, daß der Anwender in die Lage versetzt wird, die Anordnung und den Aufbau des Programms nach seinen Vorstellungen gestalten zu können. Bei kleinen, einfachen Programmen ist es zweifellos ein Gimmick. Bei größeren und komplexeren Anwendungen kann der Benutzer diese Freiheit durchaus angenehm empfinden. Schließlich darf er die für ihn wichtigen Funktionen an exponierter Stelle plazieren und andere völlig ausblenden. Bestes Beispiel ist die Entwicklungsumgebung von Delphi 6 selbst.

Das Konzept der »Dockable Tools« verlangt Erweiterungen auf zwei Ebenen. Auf der einen Seite müssen Dialogelemente um die Fähigkeit des »Dockings« erweitert werden, auf der anderen Seite muß es Fenster, beziehungsweise Teilbereiche davon geben, die solche Elemente aufnehmen und die damit verbundenen Eingriffsmöglichkeiten des Anwenders verarbeiten können. Aus diesem Grund wurden visuelle Komponenten wie TEdit, TMemo, TButton oder TImage um die Eigenschaften DragKind und DragMode erweitert. Hinzu gekommen sind natürlich noch ein paar Methoden und Ereignisse, die zur Laufzeit von Bedeutung sind.

Die Komponenten TPanel und TControlBar wurden ebenfalls um diese Eigenschaften erweitert. Sie dienen als Grundlage für eine Gruppe von Dialogelementen (beispielsweise eine Reihe von Speedbuttons), können aber auch wie der Client- Bereich eines Formulars als der Bereich deklariert werden, der die »Dockable Tools« aufnehmen und innerhalb dem der Anwender die Elemente nach seinen Vorstellungen anordnen kann. Die dafür zuständigen Eigenschaften heißen DockSite und UseDockManager.

Um vorweg darauf hin zu weisen: Obwohl es die Docking-Fähigkeiten seit Delphi 4 gibt, ist das Konzept immer noch nicht ausgereift! Wundern Sie sich daher nicht, wenn das Ganze manchmal ein wenig hakelig funktioniert. Es ist allerdings keineswegs so, daß man davon absolut abraten muß. Auf die kleinen Unzulänglichkeiten kommen wir im einzelnen zu sprechen.)

»Dockable Tools« im Schnellkurs

Das Formular, die Komponenten TControlBar und TPanel können als Container für »Dockable Tools« fungieren. Dazu muß nur die Eigenschaft DockSite auf True gesetzt werden.
Dialogelemente können zu einem einzelnen Fenster heraus gezogen werden und sind wieder andockbar, wenn ihre Eigenschaft DragKind auf dkDock gesetzt wird.
Das Setzen der Eigenschaft DragMode auf dmAutomatic bewirkt, daß das Dialogelement an jeder beliebigen Stelle angefaßt werden kann. Allerdings verliert es dadurch seine Mausbedienbarkeit.
Die Deklaration einer Behandlungsroutine für das Ereignis OnDockOver ermöglicht das Verhindern des Andokkens für bestimmte Dialogelemente. Mit den Methoden ManualDock und ManualFloat kann sich ein Element selbst andocken beziehungsweise zu einem Fenster umwandeln.

3.1 Die ersten Versuche

Eine dürftige Hilfestellung als Ersatz für gedruckte Handbücher gehört zum Trend der Zeit. Auch die integrierte Hilfe von Delphi war noch nie verdächtig für den Literaturnobelpreis. Was bleibt, ist, die bruchstückhaften Informationen der Hilfedateien zu verarbeiten und den Rest durch Experimente heraus zu finden. Beginnen wir mit einem neuen Projekt und einem noch leeren Formular. Darin wird ein (beliebiges) Dialogelement, zum Beispiel ein Memo-Feld, plaziert.