Ausführen eines Formulars
Sie können ein Formular direkt über die Oberfläche oder auf Programmebene ausführen.
Interaktives Ausführen eines Formulars
Sie können das von Ihnen entworfene Formular auf verschiedene Art und Weise ausführen.
Wenn Sie im Formular-Designer arbeiten, können Sie das Formular testen, indem Sie auf der Symbolleiste des Formular-Designers auf die Schaltfläche Ausführen klicken. Wenn Sie den Formular-Designer erneut öffnen möchten, müssen Sie das Formular schließen oder in der Symbolleiste die Schaltfläche Formular ändern wählen.
Sie können ein Formular aus einem Projekt heraus oder auf Programmebene ausführen.
So führen Sie ein Formular aus
Wählen Sie im Projekt-Manager auf der Registerkarte Dokumente den Namen des Formulars aus, und klicken Sie auf die Schaltfläche Ausführen.
- Oder -
Geben Sie im Befehlsfenster den DO FORM-Befehl ein.
- Oder -
Klicken Sie im Menü Formular auf den Befehl Formular ausführen. Sie können auch auf der Standardsymbolleiste auf die Schaltfläche Ausführen klicken.
Das Formular kann außerdem ausgeführt werden, indem Sie im Menü Programm auf Ausführen klicken. Klicken Sie im Feld Dateityp auf Formular, markieren Sie das gewünschte Formular, und klicken Sie anschließend auf Ausführen.
Tipp Wenn Sie ein Formular ausführen, können Sie schnell in den Entwurfsmodus wechseln, indem Sie auf der Standardsymbolleiste auf die Schaltfläche Formular bearbeiten klicken.
Ausführen eines Formulars auf Programmebene
Möchten Sie ein Formular programmgesteuert ausführen, dann fügen Sie den DO FORM-Befehl in den Ereigniscode, den Methodencode, ein Programm oder eine Prozedur ein.
Benennen eines Formularobjekts
Wenn Sie den DO FORM-Befehl verwenden, dann ist der Name des Formularobjekts standardmäßig gleich dem Namen der SCX-Datei. Mit der folgenden Codezeile wird z. B. die Datei Customer.scx ausgeführt. Visual FoxPro erstellt hierbei automatisch eine Objektvariable für das Formular mit dem Namen customer
:
DO FORM Customer
So benennen Sie ein Formularobjekt
- Verwenden Sie die NAME-Klausel des DO FORM-Befehls.
Die folgenden Befehle führen beispielsweise ein Formular aus, wobei zwei Namen für Formularobjektvariablen erstellt werden:
DO FORM Customer NAME frmCust1
DO FORM Customer NAME frmCust2
Bearbeiten des Formularobjekts
Wenn Sie im Befehlsfenster den DO FORM-Befehl erteilen, wird das Formularobjekt mit einer globalen Variablen verknüpft. Mit Hilfe des Variablennamens können Sie auf das Formularobjekt zugreifen. Die folgenden Befehle öffnen z. B. ein Formular Customer
und ändern dessen Überschrift, wenn sie über das Befehlsfenster eingegeben werden.
DO FORM Customer
Customer.Caption = "Hello"
Wenn Sie danach den folgenden Befehl über das Befehlsfenster ausgeben, wird im aktiven Ausgabefenster der Wert O
angezeigt, d. h. Customer
ist ein Objekt:
? TYPE("Customer")
Wenn Sie den DO FORM-Befehl in einem Programm erteilen, wird das Formularobjekt dem Programm zugeordnet. Ist das Programm oder die Prozedur beendet, wird das Objekt gelöscht. Sie könnten beispielsweise folgendes Programm ausführen:
*formtest.prg
DO FORM Customer
Nach der Programmausführung bleibt das Formular sichtbar. Alle Steuerelemente des Formulars sind aktiv. TYPE("Customer")
gibt jedoch U
zurück und gibt damit an, dass Customer
eine undefinierte Variable ist. Der folgende Befehl würde, eingegeben im Befehlsfenster, einen Fehler erzeugen:
Customer.Caption = "Hello"
Sie können jedoch auf das Formular zugreifen, indem Sie die Eigenschaften ActiveForm, Forms und FormCount des Anwendungsobjekts verwenden.
Zuweisen des Formulars zu der Formularobjektvariablen
Mit Hilfe des Schlüsselwortes LINKED des DO FORM-Befehls können Sie das Formular mit dem Formularobjekt verknüpfen. Bei Verwendung des Schlüsselwortes LINKED wird das Formular freigegeben, wenn die mit dem Formularobjekt verknüpfte Variable den Gültigkeitsbereich überschreitet.
Der folgende Befehl erstellt z. B. ein Formular, das mit der Objektvariablen frmCust2
verknüpft ist.
DO FORM Customer NAME frmCust2 LINKED
Wird frmCust2
gelöscht, wird das Formular geschlossen.
Schließen eines aktiven Formulars
Möchten Sie den Benutzern erlauben, das aktive Formular zu schließen, indem sie auf die Schaltfläche zum Schließen klicken oder indem sie aus dem Systemmenü des Formulars den Befehl Schließen wählen, dann sollten Sie die Closable-Eigenschaft des Formulars festlegen.
So geben Sie den Benutzern die Möglichkeit, das aktive Formular schließen zu können
Stellen Sie im Eigenschaftenfenster die Closable-Eigenschaft auf Wahr (.T.) ein.
- Oder -
Verwenden Sie den RELEASE-Befehl.
Sie können z. B. das Formular frmCustomer
schließen und aus dem Speicher entfernen, indem Sie den folgenden Befehl in einem Programm oder im Befehlsfenster erteilen:
RELEASE frmCustomer
Sie können auch Benutzern ermöglichen, ein Formular zu schließen und aus dem Speicher zu entfernen. Fügen Sie hierzu den folgenden Befehl in den Code des Click-Ereignisses für ein Steuerelement ein, z. B. einer Befehlsschaltfläche mit der Beschriftung Beenden:
THISFORM.Release
Sie können den RELEASE-Befehl auch in dem Code verwenden, der einem Objekt auf dem Formular zugeordnet ist. Der Code in der Release-Methode wird dann jedoch nicht ausgeführt.
Vorsicht Wenn Sie ein Formular aus dem Speicher entfernen, geben Sie auch die für das Formular erstellte Objektvariable aus dem Speicher frei. Es wird für einen Formularsatz nur eine einzelne Variable erstellt, daher können Sie Formulare innerhalb eines Formularsatzes nicht aus dem Speicher entfernen, ohne auch den Formularsatz zu entfernen. Wenn Sie den Formularsatz entfernen möchten, können Sie den
RELEASE THISFORMSET
-Befehl verwenden. Wenn Sie ein Formular vom Bildschirm löschen möchten, so dass Benutzer es nicht mehr anzeigen oder mit diesem arbeiten können, können Sie dazu denTHISFORM.Hide
-Befehl verwenden.
Siehe auch
Speichern von Formularen | Festlegen von Eigenschaften zur Laufzeit | Erstellen von Formularen | Beispiel für das Bearbeiten von Objekten | Ausblenden eines Formulars