WinDialog
Dieser Befehl lädt das Fenster (alpha1) und zeigt es an. Ist kein Dialog-Objekt mit dem angegebenen Namen vorhanden oder ist die Berechtigung des Benutzers nicht ausreichend, wird kein Dialog angezeigt und der globale Fehlerwert auf _rNoRec gesetzt.
Zur Darstellung des Fensters werden die Eigenschaften verwendet, die zum Entwurfszeitpunkt angegeben wurden. Kann aufgrund der Area-Eigenschaften das Fenster nicht im sichtbaren Bereich dargestellt werden, wird es automatisch in die Mitte des primären Bildschirms verschoben.
Je nach verwendetem Betriebssystem stehen unterschiedlich viele Ressourcen (Benutzer- und GDI-Objekte) zur Darstellung des Fensters zur Verfügung. Nach dem Laden des Fensters werden die verbleibenden Ressourcen überprüft. Stehen weniger als 10% zur Verfügung, wird der Dialog nicht geladen. Die Anweisung gibt 0 als Deskriptor zurück und der globale Fehlerwert wird auf _ErrOutOfMemory gesetzt. Die zur Verfügung stehenden Benutzer- und GDI-Objekte können über den Info-Dialog und die Eigenschaften ObjectsUserLimit und ObjectsGDILimit ermittelt werden.
Weiterführende Informationen unter Limitationen des Anwendungsprozesses
Folgende Optionen (int2) können angegeben werden:
-
Das Fenster (alpha1) wird immer im Vordergrund angezeigt.
-
Der CONZEPT 16-Client wird versteckt.
-
Das Fenster (alpha1) wird zum Elternfenster (handle3) zentriert.
-
Das Fenster (alpha1) wird zum Elternfenster (handle3) horizontal zentriert.
-
Das Fenster (alpha1) wird zum Elternfenster (handle3) vertikal zentriert.
-
Das Fenster (alpha1) wird zum Bildschirm zentriert.
-
Das Fenster (alpha1) wird zum Bildschirm horizontal zentriert.
-
Das Fenster (alpha1) wird zum Bildschirm vertikal zentriert.
-
Obsolet. Sollte nicht mehr verwendet werden.
-
Das Fenster (alpha1) wird maximiert dargestellt.
-
Das Fenster (alpha1) wird minimiert dargestellt.
-
Das Fenster (alpha1) wird weder minimiert noch maximiert dargestellt.
-
Das Fenster (alpha1) wird inaktiv gestartet.
Die Optionen _WinDialogAlwaysOnTop, _WinDialogApp und _WinDialogNoActivate können mit einer der anderen Optionen kombiniert werden.
Wird (handle3) nicht angegeben, ist der CONZEPT 16-Client das Eltern-Objekt des Dialogs. Andernfalls ist das Objekt, dessen Objektdeskriptor in (handle3) angegeben ist, das Elternfenster. Als Elternfenster kann nur ein Fenster/MDI-Fenster-Objekt angegeben werden.
Erfolgt der Aufruf eines Fensters mit einem Elternfenster (int3), erscheint das Fenster nicht als separater Task in der Taskleiste.
Ein Wechsel des Fokus in das Elternfenster ist nicht möglich. Der Eingabefokus kann erst dann wieder in das Elternfenster zurückgelangen, wenn der Fenster geschlossen wurde.
Das Fenster wird mit dem Drücken einer Schaltfläche, deren Eigenschaft TypeButton auf _WinBtnClose gesetzt ist, verlassen. Das Resultat ist der Wert der Eigenschaft ID der gedrückten Schaltfläche.
MDI-Fenster-Objekte müssen mit dem Befehl ``WinAdd() bzw. WinAddByName() geladen werden.
Beispiele:
// Fenster laden und anzeigen
WinDialog('FrmKunden');
if (ErrGet() != _ErrOk)
...
// Fenster 'Message' zentriert zum Eltern-
// fenster tParentFrame laden und anzeigen
tRes # WinDialog('Message', _WinDialogCenter, tParentFrame);
if (ErrGet() != _ErrOk)
tRes # ErrGet();
switch (tRes)
{
// OK-Schaltfläche gedrückt
case _WinIdOk :
{
...
}
// Abbrechen-Schaltfläche gedrückt
case _WinIdCancel :
{
...
}
// Keine ausreichende Berechtigung
case _rNoRec :
{
...
}
// Keine ausreichenden Ressoucen
case _ErrOutOfMemory :
{
...
}
...
}
Mögliche Laufzeitfehler:
_ErrStringOverflow: Fenstername (alpha1) länger als40Zeichen