FMX.Controls.Presentation.TPresentedControl
Delphi
TPresentedControl = class(TStyledControl, IMessageSendingCompatible)
C++
class PASCALIMPLEMENTATION TPresentedControl : public Fmx::Controls::TStyledControl
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
class | public | FMX.Controls.Presentation.pas FMX.Controls.Presentation.hpp |
FMX.Controls.Presentation | FMX.Controls.Presentation |
Beschreibung
Die Basisklasse für dargestellte Steuerelemente, die mehrere UI-Darstellungen bereitstellen können. Ein dargestelltes Steuerelement behandelt mit separaten Objekten verwendete Daten (Datenmodell) und die UI-Darstellung (Darstellungsschicht).
Die folgenden Eigenschaften von dargestellten Steuerelementen ermöglichen diese Trennung von verwendeten Datenmodellen und UI-Darstellungen:
- Model repräsentiert ein Datenmodell, das die von einem dargestellten Steuerelement verwendeten Daten enthält.
- PresentationProxy ermöglicht, dass das dargestellte Steuerelement und das Datenmodell Informationen mit dem Receiver austauschen, der die eigentliche Darstellungsschicht darstellt.
- Receiver ist die Darstellungsschicht, die die eigentliche visuelle Darstellung der Steuerelement-UI bereitstellt.
Das dargestellte Steuerelement instantiiert diese Eigenschaften zur Laufzeit automatisch. Ein leeres Modell wird angelegt, sobald Sie eine Instanz eines dargestellten Steuerelements erstellen, und der Darstellungs-Proxy wird erstellt, wenn Ihr dargestelltes Steuerelement geladen wird.
Implementieren Sie DefineModelClass neu, um die Klasse festzulegen, die ein dargestelltes Steuerelement für sein Datenmodell verwendet. Implementieren Sie DefinePresentationName neu, um den Namen des Standarddarstellungs-Proxy festzulegen, den ein dargestelltes Steuerelement verwendet. Um einen benutzerdefinierten Namen für den Darstellungs-Proxy der spezifischen Instanzen eines dargestellten Steuerelements zu definieren, behandeln Sie stattdessen das Ereignis OnPresentationNameChoosing.
Die Eigenschaft ControlType legt fest, ob die Darstellungsschicht Ihr Steuerelement mit einem nativen Steuerelement der Plattform, auf der Ihre Anwendung ausgeführt wird, repräsentiert (Platform
) oder ob die Darstellungsschicht Ihr Steuerelement mit dem FireMonkey-Standardstilsystem repräsentiert (Styled
). Auf Plattformen, für die FireMonkey keine native Darstellungsunterstützung bereitstellt, verwendet FireMonkey unabhängig vom Wert der Eigenschaft ControlType die mit Stilen versehene Standarddarstellung.
Arbeiten mit Darstellungen
Dargestellte Steuerelemente verwenden für die Arbeit mit Darstellungen die folgenden Methoden und Eigenschaften:
- Die Eigenschaft Presentation stellt den Zugriff auf die verwendete Darstellung bereit. Presentation ruft die Darstellung aus der Eigenschaft Receiver von PresentationProxy ab.
- Die Eigenschaft PresentationProxy stellt den Zugriff auf den geladenen Darstellungs-Proxy bereit. Die Methode LoadPresentation erstellt und lädt den Darstellungs-Proxy mit dem von der Ereignisbehandlungsroutine OnPresentationNameChoosing oder von DefinePresentationName zurückgegebenen Namen des Darstellungs-Proxy. Dann ruft LoadPresentation InitPresentation und AncestorPresentationLoaded auf, das untergeordnete Steuerelemente darüber benachrichtigt, dass die neue Darstellung geladen ist. InitPresentation sendet mit dem geladenen Darstellungs-Proxy Initialisierungsbotschaften (wie
PM_INIT
,PM_SET_VISIBLE
,PM_GET_SIZE
) an die Darstellung. LoadPresentation wird automatisch von Loaded aufgerufen, nachdem die Formulardatei in den Arbeitsspeicher eingelesen wurde. Die Eigenschaft LoadPresentation ruft mit dem aktuellen Darstellungs-Proxy-Generator den entsprechenden Namen des Darstellungs-Proxy ab, der in der Sammlung Presentations registriert ist. - Die Methode HasPresentationProxy ermittelt, ob der Darstellungs-Proxy geladen ist oder nicht.
- Die Eigenschaft ControlType legt fest, welcher Darstellungstyp geladen werden soll.
Styled
repräsentiert das mit Stilen versehene Standard-FireMonkey-Steuerelement. Derartige Steuerelemente sehen auf allen Versionen einer Plattform gleich aus. Das ist der Vorgabewert.Platform
repräsentiert das native Steuerelement auf der Zielplattform. Der ControlType-Wert wird verwendet, um einen Klassennamen für den Darstellungs-Proxy in DefinePresentationName zu generieren.
Arbeiten mit Modellen
Dargestellte Steuerelemente verwenden für die Arbeit mit Modellen die folgenden Methoden und Eigenschaften:
- Die Eigenschaft Model stellt den Zugriff auf das vom dargestellten Steuerelement verwendete Datenmodell bereit. Dieses Model-Datenmodell wird im Konstruktor des dargestellten Steuerelements erstellt.
- Die Methode DefineModelClass gibt eine Klassenreferenz auf eine Datenmodellklasse zurück, mit der der Konstruktor des aktuellen dargestellten Steuerelements ein Datenmodell für das dargestellte Steuerelement erstellt. Standardmäßig gibt DefineModelClass TDataModel zurück. In abgeleiteten Klassen kann DefineModelClass neu implementiert werden, um die Datenmodellklasse festzulegen, die ein abgeleitetes dargestelltes Steuerelement für sein Datenmodell verwendet.
- Die Methode GetModel wird in abgeleiteten dargestellten Steuerelementklassen verwendet, um Datenmodelle in die mit diesem dargestellten Steuerelement verwendete Datenmodellklasse umzuwandeln.