Freigeben über


Verweisen auf Objekte in der Containerhierarchie

Die Klassenhierarchie und der Container sind zwei getrennte Entitäten. Visual FoxPro durchsucht die Klassenhierarchie aufsteigend nach Ereigniscode, wohingegen die Bezugnahme auf Objekte in der Containerhierarchie erfolgt. Möchten Sie ein Objekt bearbeiten, dann müssen Sie es in Bezug zur Containerhierarchie identifizieren. Um beispielsweise ein Steuerelement auf einem Formular in einem Formularsatz zu bearbeiten, müssen Sie auf den Formularsatz, das Formular und dann auf das Steuerelement verweisen. Klassenhierarchien werden im Abschnitt Aufrufen des Ereigniscodes über die Klassenhierarchie erklärt.

Diese Bezugnahme auf ein Objekt innerhalb seiner Containerhierarchie können Sie mit der Übergabe der Adresse eines Objekts an Visual FoxPro vergleichen. Wenn Sie einer Person, die sich außerhalb Ihrer unmittelbaren Umgebung befindet, die Lage eines Hauses beschreiben möchten, müssen Sie das Land, die Region oder Gegend, die Stadt und die Straße angeben, oder einfach nur die Hausnummer in der Straße, abhängig davon, wie weit die Person von Ihnen entfernt ist. Andernfalls könnte es zu Verwirrung führen.

Die folgende Abbildung zeigt eine mögliche Verschachtelung innerhalb von Containern.

Verschachtelte Container

Um das Steuerelement in der Datenblattspalte zu deaktivieren, müssen Sie Folgendes angeben:

Formset.Form.PageFrame.Page.;
 Grid.Column.Control.Enabled = .F.

Die ActiveForm-Eigenschaft des Anwendungsobjekts (_VFP) ermöglicht Ihnen das Bearbeiten des aktiven Formulars auch dann, wenn Sie den Namen des Formulars nicht kennen. Beispielsweise ändern Sie mit der folgenden Codezeile die Hintergrundfarbe des aktiven Formulars, und zwar ungeachtet des Formularsatzes, zu dem es gehört:

_VFP.ActiveForm.BackColor = RGB(255,255,255)

Ebenso ermöglicht Ihnen die ActiveControl-Eigenschaft das Bearbeiten des aktiven Steuerelements auf dem aktiven Formular. Geben Sie beispielsweise den folgenden Ausdruck in das Überwachungsfenster ein, so wird der Name des aktiven Steuerelements auf einem Formular angezeigt, wenn Sie die verschiedenen Steuerelemente interaktiv wählen:

_VFP.ActiveForm.ActiveControl.Name

Relatives Verweisen

Wenn Sie innerhalb einer Containerhierarchie auf Objekte verweisen möchten (z. B. im Click-Ereignis einer Befehlsschaltfläche eines Formulars in einem Formularsatz), dann können Sie das zu bearbeitende Objekt über Verknüpfungen identifizieren. In der folgenden Tabelle werden die Eigenschaften oder Schlüsselwörter aufgeführt, die das Verweisen auf ein Objekt aus einer Objekthierarchie heraus erleichtern.

Eigenschaft oder Schlüsselwort Hilfe
Parent Der unmittelbare Container des Objekts.
THIS Das Objekt.
THISFORM Das Formular, das das Objekt enthält.
THISFORMSET Der Formularsatz, der das Objekt enthält.

Anmerkung   Sie können THIS, THISFORM und THISFORMSET nur in Methoden- oder Ereigniscode verwenden.

Die folgende Tabelle enthält Beispiele dazu, wie die Objekteigenschaften über THISFORMSET, THISFORM, THIS und Parent festgelegt werden können.

Befehl Wo muss der Befehl eingefügt werden?
THISFORMSET.frm1.cmd1.Caption = "OK"
Im Ereignis- oder Methodencode eines beliebigen Steuerelements auf einem beliebigen Formular im Formularsatz.
THISFORM.cmd1.Caption = "OK"
Im Ereignis- oder Methodencode eines beliebigen Steuerelements auf dem gleichen Formular, auf dem sich cmd1 befindet.
THIS.Caption = "OK"
Im Ereignis- oder Methodencode des Steuerelements, dessen Beschriftung geändert werden soll.
THIS.Parent.BackColor = RGB(192,0,0)
Im Ereignis- oder Methodencode eines Steuerelements in einem Formular. Der Befehl ändert die Hintergrundfarbe des Formulars in dunkelrot.

Siehe auch

Objektorientierte Programmierung | Klassen und Objekte: Die Bausteine einer Anwendung | Klassen in Visual FoxPro | Vorbereitung der Klassenerzeugung | Erstellen von Klassen | Ändern einer Klassendefinition | Erstellen einer Unterklasse zu einer Klassendefinition | Funktionsweise des Klassen-Designers | Schützen und Ausblenden von Klassenelementen | Angeben der Entwurfszeit-Darstellung | Erstellen, Kopieren und Entfernen von Klassenbibliotheksdateien | Hinzufügen von Klassen zu Formularen | Außer Kraft setzen der Standardeinstellungen von Eigenschaften | Setzen von Eigenschaften | Aufrufen von Methoden | Ereignisrückmeldung