Share via


_Dialog( ) (Rutina de biblioteca API)

Muestra en pantalla un cuadro de diálogo con el esquema de colores, y el texto de cuerpo y de botón especificados.

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. */

Observaciones

_Dialog( ) devuelve el número del botón que el usuario elige.

Si desea especificar menos de tres botones para el cuadro de diálogo mostrado, especifique 0 como el texto del botón para dejar en blanco cualquiera de los tres botones. El parámetro default especifica el botón que se resaltará en el cuadro de diálogo como el botón predeterminado y el parámetro escape especifica el botón que se procesará como elegido si el usuario presiona ESC.

Si no especifica ningún botón, Visual FoxPro presenta el cuadro de diálogo y espera a que el usuario presione una tecla o haga clic en el botón primario del mouse. Si el usuario presiona ESC, _Dialog( ) devuelve el valor de escape; de lo contrario, devuelve el valor predeterminado.

Para obtener más información acerca de cómo crear una biblioteca API e integrarla con Visual FoxPro, vea Acceso a la API de Visual FoxPro.

Ejemplo

El siguiente ejemplo crea cuatro cuadros de diálogo con tres, dos, uno y ningún botón.

Código Visual FoxPro

SET LIBRARY TO DIALOG  

Código C

#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
};

Vea también

Acceso a la API de Visual FoxPro | SET LIBRARY (Comando)