Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v20 R7
Fenstertypen

Fenstertypen  


 

Mit folgenden vordefinierten Konstanten unter dem Thema Open form window legen Sie den Typ des Fensters fest, das Sie mit der Funktion Open form window öffnen möchten:

Konstante Typ Wert
Modal form dialog box Lange Ganzzahl 1
Movable form dialog box Lange Ganzzahl 5
Plain form window Lange Ganzzahl 8
Pop up form window Lange Ganzzahl 32
Sheet form window Lange Ganzzahl 33
Toolbar form window Lange Ganzzahl 35
Palette form window Lange Ganzzahl 1984
Form has no menu bar Lange Ganzzahl 2048
Form has full screen mode Mac Lange Ganzzahl 65536
Controller form window Lange Ganzzahl 133056
Movable form dialog box no title Lange Ganzzahl 524293
Plain form window no title Lange Ganzzahl 524296

Dieser Abschnitt zeigt die verschiedenen Fenstertypen unter Windows (links) und macOS (rechts).

 

Ein modales Fenster beschränkt die Aktionen des Benutzers auf dieses Fenster. Solange es angezeigt wird, sind die Menübefehle und andere Anwendungsfenster nicht zugänglich. Der Benutzer muss erst das modale Fenster schließen: Er kann es bestätigen, annullieren oder eine angebotene Option wählen. Dialogfenster mit Warnungen oder Meldungen sind ein typisches Beispiel für modale Fenster.
In 4D sind die Fenstertypen Modal form dialog box, Movable form dialog box, und Movable form dialog box no title modale Fenster.

Hinweis: Ein modales Fenster bleibt immer im Vordergrund. Folglich erscheint ein nicht-modales Fenster, das vom modalen Fenster aufgerufen wird, im Hintergrund, selbst wenn es nach dem modalen Fenster aufgerufen wird. Deshalb sollten Sie eine derartige Operation vermeiden.

Ruft dagegen ein modales Fenster ein anderes modales Fenster auf, erscheint dieses Fenster im Vordergrund.

  • Kann Titel haben: Nein
  • Kann Schließbox o.ä. haben: Nein
  • Kann in der Größe verändert werden: Nein
  • Kann auf max. bzw. min. Größe oder auf Bildschirmgröße gestellt werden: Nein
  • Eignet sich für Rollbalken: Nein
  • Verwendung: DIALOG, ADD RECORD(...;...*) o.ä.
  • Fenster dieses Typs sind modal.

  • Kann einen Titel haben: Ja
  • Kann eine Schließbox o.ä. haben: Ja
  • Kann in der Größe verändert werden: Ja
  • Kann auf max. bzw. min. Größe oder auf Bildschirmgröße gestellt werden: Ja
  • Eignet sich für Rollbalken: Nein
  • Verwendung: DIALOG, ADD RECORD(...;...*) o.ä.
  • Fenster dieses Typs sind modal, können jedoch bewegt werden.

  • Kann Titel haben: Ja
  • Kann Schließbox o.ä. haben: Ja
  • Kann in der Größe verändert werden: Ja
  • Kann auf max. bzw. min. Größe oder auf Bildschirmgröße gestellt werden: Ja
  • Eignet sich für Rollbalken: Ja
  • Verwendung: Dateneingabe mit Rollbalken, DISPLAY SELECTION, MODIFY SELECTION, etc.

Dieses Fenster unterstützt folgende weitere Eigenschaften:

  • Das Fenster kann keine Schließbox haben, wird aber automatisch geschlossen und das Ereignis “Abbrechen” wird übergeben, wenn:
    • Ein Klick außerhalb des Fensters erfolgt,
    • Das Hintergrund- bzw. MDI (Multiple Document Interface) Fenster bewegt wird,
    • Der Benutzer auf die Taste Esc klickt.
  • Dieses Fenster erscheint vor seinem Hauptfenster (es darf nicht als Hauptfenster des Prozesses verwendet werden). Das Hintergrundfenster wird bei Anzeige des Fensters nicht deaktiviert. Es empfängt jedoch keine Ereignisse mehr.
  • Sie können das Fenster mit der Maus weder anpassen noch bewegen; führen Sie diese Aktionen jedoch per Programmierung aus, wird das Neuzeichnen der Hintergrundelemente optimiert.
  • Verwendung: Dieser Fenstertyp dient hauptsächlich zum Verwalten von PopUp-Menüs, die mit 3D Schaltflächen vom Typ “bevel” oder mit Icons der Werkzeugpalette verknüpft sind.
  • Einschränkungen:
    • Innerhalb díeses Fensters lassen sich keine PopUp-Menü Objekte anzeigen
    • Dieser Fenstertyp unterstützt ab 4D Version 13 nicht mehr die Anzeige von Hilfetipps auf Mac OS.

Sheet Fenster sind spezifisch für macOS. Sie rollen animiert unter der Titelleiste des Hauptfensters auf und liegen vor diesem Fenster. Sie haben ähnliche Eigenschaften wie modale Dialogfenster. Sie dienen dazu, eine Operation auszuführen, die mit der Aktion im Hauptfenster zusammenhängt. In 4D wird z.B. ein Sheet Fenster ausgelöst, wenn der Benutzer im Etiketteneditor auf die Schaltfläche Sichern klickt.

  • Sie können ein Sheet Fenster auf macOS nur erstellen, wenn das letzte offene Fenster sichtbar und ein Dokumenttyp (Formular) ist.
  • Die Funktion öffnet ein Fenster vom Typ 1 (Modal dialog box) statt vom Typ 33:
    - wenn das zuletzt geöffnete Fenster nicht sichtbar ist oder kein Dokumenttyp ist,
    - unter Windows.
  • Da ein Sheet Fenster über ein Formular gezeichnet wird, wird seine Anzeige im Ereignis On Load des ersten in das Fenster geladenen Formulars zurückgesetzt (siehe Beispiel 3 unter der Funktion Open form window).
  • Verwendung: DIALOG, ADD RECORD(...;...*) o.ä, auf macOS (nicht Standard unter Windows).

Ein Formularfenster mit Toolbar wird mit der Position, Größe und den grafischen Eigenschaften einer Toolbar erstellt, dabei gilt folgendes:

Ist die Konstante Toolbar form window übergeben, wird das Fenster mit der Position, Größe und den grafischen Eigenschaften der Toolbar erstellt. Hier ein paar Beispiele:

  • Das Fenster erscheint immer direkt unter der Menüleiste.
  • Die Breite des Fensters wird automatisch an den horizontalen Bereich angepasst, der auf dem Desktop (auf macOS) oder im Hauptfenster von 4D (unter Windows im MDI Modus) verfügbar ist. Die Höhe richtet sich wie bei allen anderen Arten von Formularfenstern nach den Formulareigenschaften.
  • Das Fenster hat keinen Rand. Es lässt sich weder bewegen noch manuell größer oder kleiner ziehen.
  • Im selben Prozess können nicht gleichzeitig zwei unterschiedliche Fenster mit Toolbar angelegt werden. In diesem Fall wird der Fehler -10613 ("Cannot create two form windows of type toolbar") zurückgegeben.

Formularfenster mit Toolbar und Vollbildmodus in macOS: Zeigt Ihre Anwendung ein Fenster mit Toolbar und ein Standardfenster an, das den Vollbildmodus unterstützt (Option Form has full screen mode Mac), muss die Toolbar gemäß den Oberflächenregeln ausgeblendet werden, wenn das Standardfenster in den Vollbildmodus geht. Ob das Fenster im Vollbildmodus ist, erkennen Sie daran, dass seine vertikale Größe genau der Höhe des Bildschirms entspricht (siehe Befehl HIDE TOOL BAR).

Mit diesem Fenstertyp können Sie Palettenfenster einrichten. Ihr Hauptmerkmal ist, dass sie im Vordergrund erhalten bleiben, auch wenn der Benutzer auf ein anderes Fenster des Prozesses klickt. Sie dienen im allgemeinen zur Anzeige dauerhafter Informationen oder Toolbars.

Dieser Fenstertyp ist ähnlich zum Palette form window mit folgender Besonderheit: Unter Windows wird über ein Icon in der Werkzeugleiste eine Referenz auf das Palettenfenster gesetzt (unter Windows erscheinen reguläre Palettenfenster nicht in der Werkzeugleiste).

Dieser Fenstertyp ist hilfreich, wenn die Anwendung im SDI Modus unter Windows läuft. In diesem Modus werden Palettenfenster ausgeblendet, wenn das übergeordnete Anwendungsfenster in den Hintergrund gesetzt wird. Basiert ihre Anwendungsoberfläche nur auf einem einzigen Palettenfenster (z.B. zum Anzeigen einer Bildschirmansicht), müssen Sie ein Controller form window verwenden, um in der Werkzeugleiste eine Referenz auf die Anwendung zu setzen und sicherzustellen, dass es erreichbar bleibt, auch wenn es im Hintergrund liegt.

Beispiel:

 $win:=Open form window("myMonitor";Controller form window;On the left;Vertically centered)

Hinweis: Auf macOS verhält sich dieses Fenster wie ein reguläres Palette form window.

Diese Variante wird verwendet, wenn die Anwendung im SDI Modus unter Windows läuft.

In diesem Kontext zeigen alle Fenster Ihrer Anwendung standardmäßig die Menüleiste des aktuellen Prozesses. Wollen Sie ein Fenster ohne Menüleiste öffnen, müssen Sie im Parameter Typ die Konstante Form has no menu bar hinzufügen. Beispiel: Nachfolgender Code erstellt in einer SDI Applikation unter Windows ein Fenster vom Typ "plain form window" ohne Menüleiste:

Hinweis: Diese Option hat keine Auswirkung:

  • in einer macOS Anwendung
  • in einer Windows Anwendung im MDI Modus

Ab 4D v14 auf OS X gibt es für Fenster vom Typ Dokument die Option "full screen". Mit dieser Option erscheint in der rechten oberen Ecke des Fensters das Icon für Vollbildmodus:

Klickt der Benutzer auf dieses Icon, wechselt das Fenster auf Bildschirmgröße und 4D blendet automatisch die Hauptwerkzeugleiste aus.
Dazu fügen Sie im Parameter Typ die Konstante Form has full screen mode Mac hinzu. Der folgende Code erstellt ein Formularfenster mit Icon für Vollbildmodus auf macOS:

 $win:=Open form window([Interface];"User_Choice";Plain form window+Form has full screen mode Mac)
 DIALOG([Interface];"User_Choice")

Hinweis: Unter Windows hat diese Option keine Auswirkung.

Mit diesem Typ können Sie modale Fenster mit angepassten Symbolleisten gestalten. Weitere Informationen finden Sie in Diesem Blog-Beitrag.

  • Modales Fenster: Ja
  • Kann verschoben werden: Ja (per Code, da es keine Titelleiste gibt)
  • Kann in der Größe verändert werden: Ja
  • Kann minimiert/maximiert oder gezoomt werden: Nein
  • Hat einen Titel: Nein

Dieser Typ ermöglicht es Ihnen, Fenster mit angepassten Symbolleisten zu gestalten. Weitere Informationen finden Sie in diesem Blog-Beitrag.

  • Modales Fenster: Nein
  • Kann verschoben werden: Ja (per Code, da es keine Titelleiste gibt)
  • Kann in der Größe verändert werden: Ja
  • Kann minimiert/maximiert oder gezoomt werden: Ja (per Code, da es keine Titelleiste gibt)
  • Hat einen Titel: Nein



Siehe auch 

Form improvements (YouTube)
Open form window

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Fenster

 
SEITENINHALT 
 
GESCHICHTE 

Geändert: 4D v16 R4
Geändert: 4D v20 R5

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v20 R7)