Freigeben über


Beispiel für das Bearbeiten von Objekten

Im folgenden Beispiel werden Eigenschaften eingestellt und Ereigniscode von den verschiedenen Objekten innerhalb eines Formularsatzes aufgerufen. Im Formularsatz des Beispiels sind zwei Formulare enthalten: frmLeft und frmRight.

Beispielformularsatz im Formular-Designer

Die beiden Kontrollkästchen und die Befehlsschaltfläche im Formular frmLeft besitzen Ereigniscode. Der Name des Textfeldes im Formular frmLeft ist txtInput.

Ereigniscode für die Objekte in "LeftForm"

Objekt Ereignis Code
chkItalic Click
THISFORM.txtInput.FontItalic = ;
   THIS.Value
chkBold Click
THIS.txtInput.FontBold = THIS.Value
cmdClear Click
THISFORM.txtInput.Value = ""
THISFORM.txtInput.FontBold = .F.
THISFORM.txtInput.FontItalic = .F.
THISFORM.chkItalic.Value = .F.
THISFORM.chkBold.Value = .F.

Festlegen einer Eigenschaft eines weiteren Steuerelements innerhalb des gleichen Formulars

Sie können die Eigenschaften eines Steuerelements im Ereigniscode eines anderen Steuerelements einstellen, indem Sie das Schlüsselwort THISFORM oder die Parent-Eigenschaft verwenden. Die folgenden zwei Befehle werden ausgeführt, sobald ein Benutzer anfänglich auf die Kontrollkästchen Fett (chkBold) und Kursiv (chkItalic) klickt.

THISFORM.txtInput.FontItalic = .T.
THIS.Parent.txtInput.FontBold = .T.

In diesem Fall können THISFORM und THIS.Parent austauschbar verwendet werden.

Beispielformularsatz zur Laufzeit

Der Code im Click-Ereignis für cmdClear enthält den THISFORM-Befehl, wodurch die Werte der anderen Steuerelemente in dem Formular zurückgesetzt werden.

Festlegen der Eigenschaft eines anderen Formulars

Sie können die Eigenschaften eines Formulars auch in einem anderen Formular einstellen. Das rechte Formular enthält 5 Befehlsschaltflächen. Die erste Schaltfläche des Formulars enthält den folgenden Code für das Click-Ereignis:

THISFORMSET.frmLeft.Caption = ;
 ALLTRIM(ThisFormSet.frmLeft.txtInput.Value)

Beachten Sie, dass auf den Formularsatz und das Formular verwiesen werden muss, wenn die Eigenschaften in einem anderen Formular eingestellt werden.

Der Benutzer klickt auf die Befehlsschaltfläche "Change Left Form Caption" im rechten Formular

Im Click-Ereigniscode der zweiten Befehlsschaltfläche in frmRight wird das Festlegen einer Eigenschaft eines Formulars aus einem Objekt des Formulars heraus demonstriert:

THISFORM.Caption = ;
 ALLTRIM(ThisFormSet.frmLeft.txtInput.Value)

Wenn Benutzer diese Schaltfläche wählen, wird die Überschrift von frmRight in den Wert im Textfeld von frmLeft geändert.

Zugreifen auf Objekte in verschiedenen Formularen

Der folgende Code im Click-Ereignis der Befehlsschaltfläche Formateinstellung ändern ändert den Wert des Kontrollkästchens Fett (chkBold) in frmLeft und ruft den mit diesem Steuerelement verknüpften Ereigniscode auf.

THISFORMSET.frmLeft.chkBold.Value = ;
   NOT THISFORMSET.frmLeft.chkBold.Value
THISFORMSET.frmLeft.chkBold.InteractiveChange

In der letzten Zeile des Beispiels wird das Interactive Change-Ereignis von chkBold aufgerufen. Sie könnten diese Prozedur auch über folgenden Befehl aufrufen:

THISFORMSET.frmForm1.chkBold.InteractiveChange( )

Wenn dieser Prozeduraufruf weggelassen wird, ändert sich der Wert des Kontrollkästchens; die FontBold-Eigenschaft des Textfeldes wird jedoch nicht geändert.

Der Benutzer klickt auf die Befehlsschaltfläche "Formateinstellung ändern" im rechten Formular

Überprüfen von Eigenschaften und Aufrufen von Methodencode eines anderen Formulars

Der folgende Code im Click-Ereignis der Befehlsschaltfläche Hide Left Form (Linkes Formular ausblenden) blendet frmLeft, je nach dem Wert der Visible-Eigenschaft, aus oder ein. Außerdem wird der Text der Befehlsschaltfläche entsprechend angepasst:

IF ThisFormSet.frmLeft.Visible
   ThisFormSet.frmLeft.Hide
   THIS.Caption = "Show Left Form"
ELSE
   ThisFormSet.frmLeft.Show
   THIS.Caption = "Hide Left Form"
ENDIF

Beachten Sie, dass das Schlüsselwort THIS im Ereigniscode eines Steuerelements verwendet wird, um auf die Eigenschaften des Steuerelements zu verweisen.

Der Benutzer klickt auf die Befehlsschaltfläche "Hide Left Form" im rechten Formular

Der folgende Befehl im Click-Ereignis der Befehlsschaltfläche Close entfernt den Formularsatz, wodurch beide Formulare geschlossen werden:

RELEASE ThisFormSet

Siehe auch

Festlegen von Eigenschaften zur Laufzeit | Ausblenden eines Formulars | Erstellen von Formularen | Übergeben von Parametern an ein Formular | Speichern eines Formulars als HTML-Datei