WinDialogBox
obj -> WinDialogBox(alpha1, alpha2, int3, int4, int5) : int
Meldungsfenster aufrufen
Details
- obj: Elternfenster
- alpha1: Fenstertitel
- alpha2: Meldungstext
- int3:
- int4:
- int5: Standard-Schaltflächennummer
- 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
Mit diesem Befehl wird ein Meldungsfenster aufgerufen. Bei Angabe eines Elternfensters in (obj) verhält sich das Meldungsfenster modal zu diesem Fenster.
Sofern das Meldungsfenster nicht modal aufgerufen werden soll, wird in (obj) 0 angegeben, und dieses vor den Befehlsargumenten aufgeführt: FWGMDXBLOCK0001
Standardmäßig wird die Positionierung der DialogBox vom Betriebssystem übernommen (zentriert zum Bildschirm). Über die Eigenschaften DialogBoxTop und DialogBoxLeft des _App-Objekts kann die Positionierung auch individuell vorgenommen werden.
In der Titelzeile wird der Text in (alpha1) ausgegeben. Der Meldungstext wird in (alpha2) übergeben. Dieser Text wird in einer Zeile innerhalb des Fensters angezeigt. Sind in der übergebenen Zeichenkette Zeilenumbrüche angegeben (StrChar ( 13 )), können auch mehrzeilige Texte ausgegeben werden. Mit Tab (StrChar ( 9 )) kann eine Formatierung der Ausgabe erfolgen. (int3) bestimmt das Symbol im Meldungsfenster. In (int4) werden die Schaltflächen definiert und in (int5) wird die Nummer der Standardschaltfläche angegeben. Die Schaltflächen werden von links (mit 1) nach rechts durchnummeriert. Sollen Zeichenketten im UTF-8-Zeichensatz ausgegeben werden, muss die Angabe der Schaltflächen in (int4) mit der Konstante _WinDialogUtf8 kombiniert werden.
Die Option _WinDialogAlwaysOnTop kann mit den Schaltflächen-Optionen kombiniert werden.
Beispiele:
Der Befehl kann zur einfachen Fehlersuche im Prozedurtext verwendet werden. Es ist dabei zu beachten, dass durch den Aufruf einer Dialogbox der Eingabefokus in die Dialogbox wechselt und unter Umständen Ereignisse aufgerufen werden.
// Speichern-Abfrage durchführen
if (WinDialogBox(0, 'Application', 'Save record?',
_WinIcoQuestion, _WinDialogYesNo, 1) = _WinIdYes)
{
// Save record
...
}
// Wichtiger Meldungshinweis
WinDialogBox(0, 'Application', 'Important Message',
_WinIcoInformation, _WinDialogOK | _WinDialogAlwaysOnTop, 1);
// Meldung mit Zeilenumbruch
tHdlFrame->WinDialogBox('Application', 'Message in' + StrChar(13) + 'two lines',
_WinIcoInformation, _WinDialogOK, 1);