====== Kurzmeldungen und Kurzeingaben (Dialogfenster) ====== Dialogfenster stellen eine weit verbreitete Möglichkeit dar, mit einem Programm zu kommunizieren. Dialogfenster haben unter Windows z. B. die Aufgabe, Informationen anzuzeigen oder Einstellungen vom Anwender eines Programms vornehmen zu lassen bzw. anzuzeigen. Über verschiedene Schaltflächen eines Dialogfensters wie Ok, Abbrechen, Hilfe, Ignorieren oder Verwerfen kann der Anwender eine jeweils unterschiedliche Reaktion des Programms bewirken. ===== Typen von Dialogfenstern ===== ^Modale Dialogfenster^Nichtmodale Dialogfenster^ |Modale Dialogfenster müssen grundsätzlich geschlossen werden, bevor mit dem Programm an einer anderen Stelle weitergearbeitet werden kann. Informationsdialoge sind meistens modal. Wenn Sie im C++Builder in einem Projekt eine Änderung vorgenommen haben und danach das Programm schließen möchten, wird ein Dialogfenster angezeigt, welches Sie nur durch das Betätigen einer der angebotenen Schaltflächen schließen können. Solange das Dialogfenster eingeblendet ist, können Sie nicht mit dem C++Builder weiterarbeiten.|Sie können bei einem geöffneten Dialogfenster trotzdem mit dem Programm weiterarbeiten. Wenn Sie z. B. im Editor Notepad einen Text suchen, bleibt das Dialogfenster Suchen während der Textsuche angezeigt. Sie können das Dialogfenster zu einem beliebigen Zeitpunkt schließen.| \\ ===== Verschiedene Dialogfenster im Turbo C++ ===== ==== Ausgabe kurzer Texte ==== ShowMessage(AnzeigeText); Die Funktion ShowMessage zeigt ein Dialogfenster (Meldungsfenster) mit einer OK-Schaltfläche an. Der Parameter AnzeigeText enthält den Text der Meldung, die innerhalb des Meldungsfensters erscheint. Als Überschrift des Meldungsfensters wird der Name der aktuellen Anwendung angezeigt.\\ **Beispiel:** ShowMessage("Alles in Ordnung!"); ==== Einlesen eines kurzen Textes in eine Variable ==== S = InputBox("Überschrift","Aufforderungstext","Anfangswert") ==== Ausgabe einer Meldung mit der Möglichkeit die Benutzerreaktion einzuholen ==== MessageBox(0,L"AnzeigeText",L"Überschrift",Eigenschaften); Hinweis: das vorangestellte L wandelt den String in einen Longstring um (der hier benötigt wird). **Beispiel:** Z = MessageBox(0,L"Programm beenden?",L"Frage",MB_YESNO); Die Methode MessageBox der Klasse TApplication zeigt ein Dialogfenster an, das eine Meldung, ein Bild und eine oder mehrere Schaltflächen anzeigt. Der erste Parameter ist die interne Bezugsnummer (Handle) des aktuellen Formulars (z.B. 0 für Forml). Der Wert des Parameters AnzeigeText entspricht der angezeigten Meldung. Der Parameter Überschrift wird in der Titelleiste des Dialogfensters angezeigt. Die möglichen Werte des Parameters Eigenschaften, die Sie beliebig über den Operator OR verknüpfen können, sind: MB_ICONEXCLAMATION Ein Ausrufezeichensymbol erscheint im Meldungsfenster. MB_ICONINFORMATION Ein I-Symbol (Information) erscheint im Meldungsfenster. MB_ICONQUESTION Ein Fragezeichensymbol erscheint im Meldungsfenster. MB_ICONSTOP Ein Stopzeichensymbol erscheint im Meldungsfenster. MB_OK Das Meldungsfenster enthält eine OK-Schaltfläche. MB_OKCANCEL Das Meldungsfenster enthält eine Ok- und eine ABBRECHEN-Schaltfläche. MB_YESNOCANCEL Das Meldungsfenster enthält die Schaltflächen Ja, Nein und Abbrechen. **Beispiel:** Application->MessageBox("Ende?", "???", MB_ICONQUESTION | MB_OKCANCEL); Den Rückgabewert können Sie nach dem Aufruf des Meldungsfensters auswerten. IDOK Der Anwender hat die Schaltfläche Ok gewählt. IDCANCEL Der Anwender hat die Schaltfläche Abbruch gewählt. IDABORT Der Anwender hat die Schaltfläche Abort gewählt. IDRETRY Der Anwender hat die Schaltfläche Wiederholen gewählt. IDIGNORE Der Anwender hat die Schaltfläche Ignorieren gewählt. IDYES Der Anwender hat die Schaltfläche Ja gewählt. IDNO Der Anwender hat die Schaltfläche Nein gewählt. **Beispiel:** if (Application->MessageBox(..) == IDOK) ... * Der vierte Parameter p4 setzt sich aus drei Zahlen zusammen, welche addiert werden: * p4 = Symbol + Schaltfläche + Standardeingabe * Symbol bestimmt das angezeigte Symbol in der Box: 0 = ohne Symbol, 16 = Stoppsymbol "X", 32 = Fragesymbol "?", 48 = Warnsymbol "!", 64 = Informationssymbol "i". * Schaltfläche bestimmt die Anzahl und Art der gezeigten Schaltflächen in der Box: 0 = nur "OK", 1 = "OK - Abbrechen", 2 = "Abbrechen - Wiederholen - Ignorieren", 3 = "Ja - Nein - Abbrechen", 4 = "Ja - Nein", 5 = "Wiederholen - Abbrechen". * Standardeingabe gibt an, welche Schaltfläche bei Betätigung der -Taste aktiv wird: 0 = erste Schaltfläche, 256 = zweite Schaltfläche, 512 = dritte Schaltfläche. * Die numerischen Rückgabewerte geben an, welche Schaltfläche vom Anwender gedrückt wurde: 1 = "OK", 2 oder 3 = "Abbrechen", 4 = "Wiederholen", 5 = "Ignorieren", 6 = "Ja" und 7 = "Nein".