WinDialog
WinDialog(alpha1[, int2[, handle3]]) : int
Fenster laden und ausführen
Details
- alpha1: Fenstername
- int2: Optionen (optional; siehe Text)
- handle3: Elternfenster (optional)
- Resultat:
intSchaltflächen-ID_WinIdCloseSchließen-Schaltfläche gedrückt_WinIdOkOK-Schaltfläche gedrückt_WinIdCancelAbbrechen-Schaltfläche gedrückt_WinIdYesJa-Schaltfläche gedrückt_WinIdNoNein-Schaltfläche gedrückt - Siehe: Verwandte Befehle ,
WinDialogRun ()
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:
_WinDialogAlwaysOnTopDas Fenster (alpha1) wird immer im Vordergrund angezeigt._WinDialogAppDer CONZEPT 16-Client wird versteckt._WinDialogCenterDas Fenster (alpha1) wird zum Elternfenster (handle3) zentriert._WinDialogCenterXDas Fenster (alpha1) wird zum Elternfenster (handle3) horizontal zentriert._WinDialogCenterYDas Fenster (alpha1) wird zum Elternfenster (handle3) vertikal zentriert._WinDialogCenterScreenDas Fenster (alpha1) wird zum Bildschirm zentriert._WinDialogCenterScreenXDas Fenster (alpha1) wird zum Bildschirm horizontal zentriert._WinDialogCenterScreenYDas Fenster (alpha1) wird zum Bildschirm vertikal zentriert._WinDialogCreateHiddenObsolet. Sollte nicht mehr verwendet werden._WinDialogMaximizedDas Fenster (alpha1) wird maximiert dargestellt._WinDialogMinimizedDas Fenster (alpha1) wird minimiert dargestellt._WinDialogNormalDas Fenster (alpha1) wird weder minimiert noch maximiert dargestellt._WinDialogNoActivateDas 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