Frames verwenden und bearbeiten

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Mit Frames arbeiten

Ein VCL-Frame mit datensensitiven Steuerelementen und einer Datenquellenkomponente.
Ein zur Entwurfszeit in einem Formular ausgewählter FireMonkey-Frame.

Um einen Frame in einer Anwendung zu verwenden, müssen Sie ihn direkt oder indirekt in ein Formular einfügen. Frames können direkt in Formulare, andere Frames oder andere Container-Objekte wie Tafeln oder Bildlauffelder eingefügt werden.

Im Formular-Designer können Frames auf zwei Arten in eine Anwendung aufgenommen werden:

  • Wählen Sie das gewünschte Frame-Objekt in der Tool-Palette aus, und platzieren Sie es in einem Formular, einem anderen Frame oder einem anderen Container-Objekt. Sie werden gegebenenfalls gefragt, ob die zugehörige Unit in das Projekt aufgenommen werden soll.
  • Wählen Sie das Symbol Frames in der Kategorie Standard der Tool-Palette aus, und klicken Sie auf ein Formular oder ein anderes Frame-Objekt. Klicken Sie anschließend im Dialogfeld mit den bereits hinzugefügten Frames auf den gewünschten Eintrag, und bestätigen Sie mit OK.

Wenn Sie einen Frame in ein Formular oder einen anderen Container einfügen, wird automatisch eine neue, vom gewählten Frame abgeleitete Klasse deklariert. (Entsprechend wird beim Hinzufügen eines neuen Formulars eine neue Klasse von TForm abgeleitet). Daher erbt er alle später am Original (der Vorfahrklasse) vorgenommenen Änderungen. Bearbeitungen am eingefügten Frame wirken sich aber nicht auf die Vorfahrklasse aus.

Ein Beispiel: Sie möchten einige Datenzugriffskomponenten und datensensitive Steuerelemente in einer Gruppe zusammenfassen, um sie mehrfach zu verwenden, vielleicht sogar in mehr als einer Anwendung. Eine Möglichkeit besteht darin, die Komponenten in eine Komponentenvorlage aufzunehmen. Wenn Sie nun aber begonnen haben, mit dieser Vorlage zu arbeiten, inzwischen jedoch mit der Zusammenstellung der Komponenten unzufrieden geworden sind, müssen Sie von vorn anfangen und von Hand jedes Projekt ändern, in dem die Vorlage bereits verwendet worden war.

Wenn Sie die Datenbankkomponenten dagegen in einem Frame platzieren, müssen die Änderungen lediglich hier durchgeführt werden. Die Projekte werden dann beim nächsten Compilieren entsprechend aktualisiert. Andererseits können Sie jeden der Frames ohne Auswirkungen auf das Original oder die anderen abgeleiteten Frame-Objekte bearbeiten. Die einzige Einschränkung besteht darin, dass Sie den eingefügten Frames keine neuen Komponenten hinzufügen können.

Frames vereinfachen nicht nur die Wiederverwendung von Komponenten, sie ermöglichen auch eine effizientere Ressourcen-Nutzung. Um beispielsweise eine Bitmap oder eine andere Grafik in einem Programm zu verwenden, können Sie diese in die Eigenschaft Picture (VCL) bzw. Bitmap (FireMonkey) eines TImage-Objekts laden. Wenn Sie das Bitmap jedoch mehrmals in der Anwendung verwenden, wird durch jedes eingefügte Image-Objekt eine weitere Kopie der Grafik in die Ressourcendatei des Formulars aufgenommen. (Dies ist auch dann der Fall, wenn Sie die Eigenschaft Picture bzw. Bitmap nur einmal zuweisen und das Image-Steuerelement als Komponentenvorlage speichern.) Es ist daher bedeutend effizienter, das Image-Objekt in einem Frame zu platzieren, der Eigenschaft Picture die Grafik zuzuweisen und anschließend den Frame an den gewünschten Positionen in das Formular einzufügen. Dies führt zu kleineren Formulardateien und hat zusätzlich den Vorteil, dass Sie nur das Image-Steuerelement im Original-Frame bearbeiten müssen, um alle eingefügten Grafiken zu ändern.

Siehe auch