Freigeben über


_Dialog( ), API-Bibliotheksroutine

Zeigt auf dem Bildschirm ein Dialogfeld mit dem angegebenen Farbschema sowie dem angegebenen Dialogtext und Schaltflächentext an.

int _Dialog(int scheme, char FAR *body_text, char FAR *button1, 
            char FAR *button2, char FAR *button3, int default, intescape)
int scheme;                  /* Color scheme number. */
char FAR *body_text;         /* Text in dialog. */
char FAR *button1;         /* Button prompt. */
char FAR *button2;         /* Button prompt. */
char FAR *button3;         /* Button prompt. */
int default;                  /* Number of the default button. */
int escape;                  /* Number of the button to press if Esc. */

Hinweise

_Dialog( ) gibt die Nummer der vom Benutzer ausgewählten Schaltfläche zurück.

Wenn Sie für das angezeigte Dialogfeld weniger als drei Schaltflächen angeben möchten, geben Sie 0 als Schaltflächentext an. Auf diese Weise bleibt die so angegebene Schaltfläche leer. Der Parameter default gibt an, welche Schaltfläche im Dialogfeld als Standardschaltfläche markiert werden soll. Der Parameter escape gibt an, welche Schaltfläche verwendet werden soll, wenn der Benutzer ESC drückt.

Wenn Sie keine Schaltflächen angeben, zeigt Visual FoxPro das Dialogfeld an und wartet, bis der Benutzer eine Taste drückt oder mit der linken Maustaste klickt. Wenn der Benutzer ESC drückt, gibt _Dialog( ) den Wert escape zurück. Andernfalls wird der Standardwert zurückgegeben.

Weitere Informationen zum Erstellen einer API-Bibliothek und ihrer Integration in Visual FoxPro finden Sie unter Zugreifen auf die Visual FoxPro-API.

Beispiel

Im folgenden Beispiel werden vier Dialogfelder mit drei, zwei, einer bzw. keiner Schaltfläche(n) erstellt.

Visual FoxPro-Code

SET LIBRARY TO DIALOG  

C-Code

#include <pro_ext.h>

void putLong(long n)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = 10;

   _PutValue(&val);
}

void FAR dialogEx(ParamBlk FAR *parm)
{
   int selection;

   selection = _Dialog(DIALOG_SCHEME, "Example dialog with 3 buttons.",
      "First", "Second", "Third", 2, 3);

   _PutStr("\nItem selected ="); putLong(selection);

   selection = _Dialog(DIALOG_SCHEME, "Example dialog with 2 buttons.",
      "First", "Second", 0, 2, 2);

   _PutStr("\nItem selected ="); putLong(selection);

   selection = _Dialog(DIALOG_SCHEME, "Example dialog with 1 button.",
      "First", (char *)0, (char *)0, 1, 1);

   _PutStr("\nItem selected ="); putLong(selection);

   selection = _Dialog(DIALOG_SCHEME, "Example dialog no buttons.",
      (char *)0, (char *)0, (char *)0, 1, 2);

   _PutStr("\nItem selected ="); putLong(selection);
}

FoxInfo myFoxInfo[] = {
   {"DIALOGEX", (FPFI) dialogEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Siehe auch

Zugreifen auf die Visual FoxPro-API | SET LIBRARY-Befehl