DEFINE WINDOW-Befehl

Erstellt ein Fenster und gibt dessen Eigenschaften an.

DEFINE WINDOW WindowName1 FROM nRow1, nColumn1 TO nRow2, nColumn2 
   | AT nRow3, nColumn3 SIZE nRow4, nColumn4 
   [IN [WINDOW] WindowName2 | IN SCREEN | IN DESKTOP [NAME ObjectName]
      [FONT cFontName [, nFontSize]] [STYLE cFontStyle] 
      [FOOTER cFooterText] [TITLE cTitleText] [HALFHEIGHT] 
      [DOUBLE | PANEL | NONE | SYSTEM | cBorderString] 
      [CLOSE | NOCLOSE] [FLOAT | NOFLOAT] [GROW | NOGROW] [MDI | NOMDI]
      [MINIMIZE | NOMINIMIZE] [ZOOM | NOZOOM] [ICON FILE FileName1]
      [FILL cFillCharacter | FILL FILE FileName2] 
      [COLOR SCHEME nSchemeNumber   | COLOR ColorPairList]]

Parameter

  • WindowName1
    Gibt den Namen des zu erstellenden Fensters an. Fensternamen können in Visual FoxPro maximal 254 Zeichen lang sein. Sie müssen mit einem Buchstaben oder Unterstrich anfangen, wobei das erste Zeichen keine Ziffer sein darf. Für die nachfolgenden Zeichen kann eine beliebige Kombination aus Buchstaben, Zahlen und Unterstrichen gewählt werden.

  • FROM nRow1, nColumn1 TO nRow2, nColumn2
    Gibt die Position und die Größe des benutzerdefinierten Fensters im Visual FoxPro-Hauptfenster an. FROM nRow1, nColumn1 gibt die Position der linken oberen Ecke des benutzerdefinierten Fensters im Visual FoxPro-Hauptfenster an bzw. TO nRow2, nColumn2 die Position der rechten unteren Ecke..

    Fenster können ebenfalls mit Koordinaten definiert werden, die außerhalb des Visual FoxPro-Hauptfensters liegen, und auch größer als dieses sein.

    Die Lage und Größe des Fensters wird durch die im übergeordneten Fenster verwendete Schriftart bestimmt. Das übergeordnete Fenster kann ein weiteres benutzerdefiniertes Fenster oder das Visual FoxPro-Hauptfenster sein.

  • AT nRow3, nColumn3 SIZE nRow4, nColumn4
    Gibt die Position und die Größe eines benutzerdefinierten Fensters an.

    AT nRow3, nColumn3 gibt die Position der linken oberen Ecke des benutzerdefinierten Fensters im Visual FoxPro-Hauptfenster an. Die Lage des Fensters wird durch die im übergeordneten Fenster aktuell verwendete Schriftart bestimmt. Da die AT- und die FROM-Klausel in jeder Hinsicht identisch sind, können sie untereinander ausgetauscht werden.

    SIZE nRow4, nColumn4 gibt die Größe des benutzerdefinierten Fensters in Zeilen und Spalten an und stellt sicher, dass der in einer bestimmten Schriftart angezeigte Text in das von Ihnen erstellte Fenster passt.

    Mit den Klauseln FONT und STYLE können Sie für ein benutzerdefiniertes Fenster eine Schriftart und einen Schriftstil angeben. Wenn Sie für ein Fenster eine Schriftart angeben und die SIZE-Klausel einbeziehen, wird die Größe des Fensters durch die für das Fenster festgelegte Schrifthöhe und -breite bestimmt. Geben Sie keine Schriftart für ein Fenster an, wird die Standardsystemschriftart "FoxFont 10 pt" verwendet.

  • IN [WINDOW] WindowName2
    Platziert ein benutzerdefiniertes Fenster in einem übergeordneten Fenster. Das benutzerdefinierte Fenster wird zum untergeordneten Fenster und kann nicht aus seinem übergeordneten Fenster verschoben werden. Wird das übergeordnete Fenster verschoben, wird auch das untergeordnete Fenster mit verschoben.

    Wird ein untergeordnetes in einem übergeordneten Fenster platziert, beziehen sich die mit den Klauseln FROM und TO oder AT und SIZE angegebenen Koordinaten des untergeordneten Fensters auf das übergeordnete Fenster und nicht auf das Visual FoxPro-Hauptfenster.

    Im folgenden Beispiel wird das übergeordnete Fenster wParent angelegt und darin das untergeordnete Fenster wChild platziert.

    CLEAR
    DEFINE WINDOW wParent ;
       FROM 1, 1 TO 20, 30 ;
       TITLE "Parent"         && Parent window.
    ACTIVATE WINDOW wParent 
    DEFINE WINDOW wChild ;
       FROM 1, 1 TO 20, 20 ;
       TITLE "Child" ;
       IN WINDOW wParent       && Child window.
    ACTIVATE WINDOW wChild
    ACTIVATE SCREEN
    WAIT WINDOW 'Press a key to clear the windows'
    RELEASE WINDOW wParent, wChild
    CLEAR
    
  • IN SCREEN
    Platziert das benutzerdefinierte Fenster explizit im Visual FoxPro-Hauptfenster. Wenn Sie IN SCREEN nicht angeben, wird das benutzerdefinierte Fenster standardmäßig im Visual FoxPro-Hauptfenster platziert.

    Sie können mit ACTIVATE WINDOW die IN WINDOW-Klausel angeben, um die IN SCREEN-Klausel außer Kraft zu setzen und das Fenster in einem anderen benutzerdefinierten Fenster zu platzieren.

  • IN DESKTOP
    Platziert ein benutzerdefiniertes Fenster auf dem Microsoft Windows-Desktop außerhalb des Visual FoxPro-Hauptfensters. Die Position des Fensters ist vom Windows-Desktop und der aktuell im Visual FoxPro-Hauptfenster verwendeten Schriftart abhängig.

  • NAME ObjectName
    Erstellt für das Fenster einen Objektverweis, der es Ihnen ermöglicht, das Fenster mit den objektorientierten Eigenschaften zu manipulieren, die für das Formular (Form-Objekt) zur Verfügung stehen.

    Weitere Informationen zum objektorientierten Programmieren in Visual FoxPro finden Sie unter Objektorientierte Programmierung. Weitere Informationen zu den Eigenschaften von Formularen (Form-Objekten), die unter Verwendung der NAME-Klausel angegeben wurden, finden Sie unter Formularobjekt (Form).

  • FONT cFontName [, nFontSize]
    Gibt die Schriftart für den im Fenster angeordneten Text an. Durch cFontName wird der Name der Schriftart und durch nFontSize die Größe in Punkt (pt) angegeben. Wenn Sie nFontSize nicht angeben, wird eine Schriftart in der Größe 9 pt verwendet.

    Das folgende Beispiel erstellt z. B. ein Fenster, das Daten in der Schriftart "Courier" und der Größe 16 pt ausgibt:

    DEFINE WINDOW wDisplayFont FROM 2,2 TO 12,22 FONT 'Courier', 16 
    

    Wenn Sie die FONT-Klausel nicht angeben, wird die Schriftart "FoxFont" in der Größe 10 pt verwendet. Ist die angegebene Schriftart nicht verfügbar, wird eine Schrift mit ähnlichen Schriftmerkmalen verwendet.

  • STYLE cFontStyle
    Gibt einen Schriftstil für den im Fenster angezeigten Text an. cFontStyle gibt die Schriftart an. Wenn Sie die STYLE-Klausel nicht angeben oder der angegebene Schriftstil nicht verfügbar ist, wird der Schriftstil "Normal" verwendet.

    In der folgenden Tabelle sind die Schriftstile und deren entsprechende Zeichen zusammengefasst.

    Zeichen Schriftstil
    B Fett
    I Kursiv
    N Normal
    Q Undurchsichtig
    - Durchgestrichen
    T Transparent
    U Unterstrichen

    Sie können durch Angabe mehrerer Zeichen Schriftstile kombinieren. In Visual FoxPro geben Sie mit dem folgenden Befehl z. B. "Fett Kursiv" an:

    DEFINE WINDOW wDisplayStyle FROM 2, 2 TO 12, 22 STYLE 'BI'
    
  • TITLE cTitleText
    Weist mit der TITLE-Klausel einen Titel zu. Durch cTitleText wird der Text der Titels angegeben, der am oberen Rand des Fensters zentriert angezeigt wird. Ist der Titel länger als das Fenster breit ist, wird er abgeschnitten.

  • HALFHEIGHT
    Erstellt ein Fenster mit einer halbhohen Titelleiste. Hiermit wird Kompatibilität zu Fenstern gewährleistet, die aus vorherigen FoxPro-Versionen in Visual FoxPro importiert werden.

    Beim Erstellen eines Fensters mit DEFINE WINDOW wird eine halbhohe Titelleiste verwendet, sofern nicht das Schlüsselwort SYSTEM oder eine FONT-Klausel angegeben wurde.

    Wenn Sie dagegen das HALFHEIGHT-Schlüsselwort einbeziehen, wird unabhängig davon, ob Sie zusätzlich die Klauseln SYSTEM und FONT angeben, eine halbhohe Titelleiste erstellt.

  • DOUBLE | PANEL | NONE | SYSTEM | CBorderString
    Gibt für ein benutzerdefiniertes Fenster eine Rahmenart an. Der Standardrahmen ist eine einfache Linie.

    Argument Beschreibung
    DOUBLE Gibt eine Doppellinie als Rahmen um das Fenster an.
    PANEL Gibt einen breiten Rahmen um das Fenster an.
    NONE Zeichnet keinen Rahmen.
    SYSTEM Gibt an, dass das benutzerdefinierte Fenster wie ein Systemfenster dargestellt werden soll. Wenn Sie verschiedene andere Klauseln (GROW, ZOOM usw.) einbeziehen, werden die entsprechenden Fenster-Steuerelemente im Rahmen des Fensters angeordnet.
    CBorderString Gibt einen benutzerdefinierten Rahmen an. Weitere Informationen zum Definieren eines benutzerdefinierten Rahmens finden Sie unter SET BORDER.

    Das Einbeziehen von DOUBLE oder einer Zeichenfolge für einen benutzerdefinierten Rahmen erzeugt ein Fenster mit einem PANEL-Rahmen. Durch Einbeziehen der Klauseln CLOSE, FLOAT, GROW, ZOOM oder MINIMIZE werden die entsprechenden Steuerelemente im Fenster angezeigt, auch wenn die SYSTEM-Klausel für die Fensterdefinition nicht einbezogen wurde.

  • CLOSE
    Ermöglicht dem Benutzer, ein benutzerdefiniertes Fenster mit der Tastatur oder der Maus zu schließen. Durch das Schließen eines Fensters wird dieses aus dem Visual FoxPro-Hauptfenster oder einem übergeordneten benutzerdefinierten Fenster entfernt. Die Fensterdefinition wird ebenfalls aus dem Arbeitsspeicher entfernt. Wenn Sie CLOSE nicht angeben, kann das Fenster nicht mit den Befehlen der Benutzeroberfläche geschlossen werden. Stattdessen müssen Sie es mit einem Befehl in einem Programm oder im Befehlsfenster schließen.

  • NOCLOSE
    Verhindert das Schließen des Fensters. Es kann nur mit einem Befehl in einem Programm oder im Befehlsfenster geschlossen werden.

  • FLOAT
    Ermöglicht dem Benutzer, das Fenster mit der Tastatur oder der Maus zu verschieben. Wird FLOAT nicht angegeben, kann das Fenster nur verschoben werden, wenn Sie den MOVE WINDOW-Befehl in einem Programm oder im Befehlsfenster verwenden.

  • NOFLOAT
    Verhindert das Verschieben des Fensters. Es kann nur durch Angabe des MOVE WINDOW-Befehls in einem Programm oder im Befehlsfenster verschoben werden.

  • GROW
    Ermöglicht dem Benutzer, die Größe eines benutzerdefinierten Fensters mit der Tastatur oder der Maus zu ändern. Wird GROW nicht angegeben, kann die Größe des Fensters nur geändert werden, wenn Sie den SIZE WINDOW-Befehl in einem Programm oder im Befehlsfenster verwenden.

  • NOGROW
    Verhindet das Ändern der Größe des Fensters. Sie kann nur durch Angabe des SIZE WINDOW-Befehls in einem Programm oder im Befehlsfenster geändert werden.

  • MDI
    Erstellt ein MDI-konformes benutzerdefiniertes Fenster. MDI (Multiple Document Interface = Mehrfachdokumentenschnittstelle) ist eine Spezifikation, die mehrere Dokumentenfenster zulässt und deren Struktur und Verhalten festlegt. Wird MDI nicht angegeben, ist das Fenster nicht MDI-konform.

    Folgende Dinge gelten, wenn Sie ein MDI-konformes Fenster maximieren:

    • Das Fenster übernimmt die Größe des Visual FoxPro-Hauptfensters. Die Steuerelemente des Fensters werden ausgeblendet und dessen Systemmenüfeld in der Visual FoxPro-Systemmenüleiste angezeigt. Die Schaltfläche Wiederherstellen des Fensters wird ebenfalls in der Visual FoxPro-Systemmenüleiste angezeigt.
    • Der Fenstertitel wird in der Visual FoxPro-Titelleiste durch einen Bindestrich vom Visual FoxPro-Titel getrennt angezeigt.
    • Wenn Sie ein anderes MDI-konformes Fenster aktivieren, wird dieses automatisch maximiert.
  • NOMDI
    Erstellt ein Fenster, das nicht MDI-konform ist.

  • MINIMIZE
    Ermöglicht dem Benutzer, ein benutzerdefiniertes Fenster mit der Tastatur oder der Maus zu minimieren.

  • NOMINIMIZE
    Verhindert, dass ein Fenster minimiert werden kann.

  • ZOOM
    Ermöglicht den Benutzern, ein Fenster mit der Tastatur oder der Maus zu maximieren. Die ursprüngliche Größe des Fensters kann wiederhergestellt werden.

  • NOZOOM
    Verhindert, dass ein Fenster maximiert werden kann.

  • ICON FILE FileName
    Gibt das Symbol an, das für das minimierte Fenster angezeigt werden soll. Dazu müssen Sie das Schlüsselwort MINIMIZE in DEFINE WINDOW einbeziehen. Sie können nur eine Symboldatei (ICO) angeben, nicht eine Bitmap-Datei (BMP).

  • FILL FILE FileName2
    Gibt ein Hintergrundbild für das Fenster an. Als Hintergrundbild wird die in FileName2 angegebene Datei verwendet. Geben Sie eine Bitmap-Datei (BMP) an.

  • COLOR SCHEME nSchemeNumber
    Gibt die Farben für das benutzerdefinierte Fenster an. Standardmäßig sind die Farben der mit DEFINE WINDOW erstellten Fenster durch das Farbschema 1 bestimmt.

  • COLOR ColorPairList
    Gibt die Farben für das benutzerdefinierte Fenster an.

    Weitere Informationen zu Farbschemas und Farbpaaren finden Sie unter Farben - Überblick.

Hinweise

Nachdem benutzerdefinierte Fenster mit DEFINE WINDOW erstellt wurden, können sie mit ACTIVATE WINDOW oder SHOW WINDOW im Visual FoxPro-Hauptfenster angezeigt werden. Die Anzahl der erstellbaren benutzerdefinierten Fenster ist nur durch den verfügbaren Arbeitsspeicher und die verfügbaren Systemressourcen eingeschränkt.

Aktivierte Fenster werden so lange im Visual FoxPro-Hauptfenster angezeigt, bis DEACTIVATE WINDOW oder HIDE WINDOW eingegeben wird. Mit DEACTIVATE WINDOW und HIDE WINDOW werden Fenster aus dem Visual FoxPro-Hauptfenster entfernt. Die Fensterdefinitionen werden damit jedoch nicht aus dem Arbeitsspeicher entfernt, so dass die Fenster mit ACTIVATE WINDOW oder SHOW WINDOW wieder im Visual FoxPro-Hauptfenster angezeigt werden können.

Verwenden Sie CLEAR WINDOWS oder RELEASE WINDOWS, wenn Sie Fenster aus dem Visual FoxPro-Hauptfenster und die Fensterdefinitionen aus dem Arbeitsspeicher entfernen möchten. Fenster, deren Definitionen aus dem Arbeitsspeicher entfernt wurden, müssen mit DEFINE WINDOW neu erstellt werden, bevor sie wieder angezeigt werden können.

Beispiel

Im folgenden Beispiel wird das Fenster output erstellt und aktiviert. Das Programm wartet, bis der Benutzer eine Taste drückt und blendet das Fenster dann aus. Bei erneutem Drücken einer Taste wird das Fenster wieder angezeigt.

CLEAR
DEFINE WINDOW output FROM 2,1 TO 13,75 TITLE 'Output' ;
   CLOSE FLOAT GROW ZOOM
ACTIVATE WINDOW output
WAIT WINDOW 'press any key to hide window output'
HIDE WINDOW output
WAIT WINDOW 'press any key to show window output'
SHOW WINDOW output
WAIT WINDOW 'press any key to release window output'
RELEASE WINDOW  output

Siehe auch

ACTIVATE WINDOW | DEACTIVATE WINDOW | Schriftarten - Übersicht | Formularobjekt (Form) | HIDE WINDOW | MODIFY WINDOW | MOVE WINDOW | RELEASE WINDOWS | SET BORDER | SHOW WINDOW