@...GET PUSHBUTTON
 Crea un objeto Get consistente en un botón y lo muestra en pantalla
------------------------------------------------------------------------------
 Sintaxis

     @ <nFila>, <nColumna>
        GET <lVar>
        PUSHBUTTON
         [CAPTION <cTítulo>]
         [MESSAGE <cMensaje>]
         [WHEN <lCondiciónPrevia>]
         [VALID <lCondiciónPosterior>]
         [COLOR <cCadenaColor>]
         [FOCUS <fbloque>(
         [STATE <bBloque>]
         [STYLE <cEstilo>]
         [SEND <mensaje>]
         [GUISEND <mensajeGUI>]
         [SIZE X <nTamañoX> Y <nTamañoY>]
         [CAPOFF X <nTítDespX> Y <nTítDespY>]
         [BITMAP <cMapaBits>]
         [BMPOFF X <nMapaBitsDespX> Y <nMapaBitsDespY>]

 Argumentos

     <nFila> y <nColumna> especifican las coordenadas de pantalla
     para el botón y su título. No se visualizarán los objetos que excedan
     de los límites de la pantalla.

     GET <lVar> especifica el nombre de la variable asociada al mandato
     GET. <lVar> puede contener un valor de cualquier tipo, pero al retornar
     de READ siempre tomará el valor lógico falso (.F.). El propósito de
     <lVar> es proporcionar un espacio en GetList para el botón.

     CAPTION <cTítulo> especifica una cadena de caracteres que describe
     en pantalla, de forma concisa, el significado del GET. Existen dos
     diferencias entre CAPTION y SAY. La primera es que el título aparece
     cada vez que el GET se muestra en pantalla. La segunda es que el
     título y su posición en pantalla se almacenan en el objeto Get. Esto
     permite que el GET pueda recibir la entrada del usuario al hacer clic
     en el título con el botón izquierdo del ratón. Por defecto, el título
     aparece dentro del borde del botón. Es posible utilizar las variables
     capRow y capCol para modificar la posición en pantalla del título.

     Si en la cadena de caracteres del título está presente el carácter &,
     el carácter que le sigue se utiliza como tecla aceleradora del botón.
     La tecla aceleradora es un método rápido para pasar el foco de entrada
     al botón. En las teclas aceleradoras no se distingue entre mayúsculas
     y minúsculas.

     MESSAGE <cMensaje> especifica una cadena de caracteres que aparece
     en la barra de la línea de estado del sistema Get cuando el GET tiene
     el foco de entrada. Normalmente, contiene una breve  descripción o una
     respuesta al usuario acerca del GET. Consulte el mandato READ para
     obtener detalles del funcionamiento de la barra de estado del sistema
     Get.

     WHEN <lCondiciónPrevia> especifica una expresión que debe
     satisfacerse antes de que el cursor entre en el GET durante un mandato
     READ. La expresión puede ser, opcionalmente, un bloque de código. El
     objeto Get se pasa como parámetro al bloque de código.

     VALID <lCondiciónPosterior> especifica una expresión que debe
     satisfacerse antes de que el cursor pueda salir del GET durante un
     mandato READ. La expresión puede ser, opcionalmente, un bloque de
     código. El objeto Get se pasa como parámetro al bloque de código.

     COLOR <cCadenaColor> define los colores seleccionados para el
     botón. <cCadenaColor> es una expresión de caracteres que contiene
     cuatro parámetros de color.

     Atributos de color para el botón
     ------------------------------------------------------------------------
     Posición          Se aplica a                      Valor por defecto
     en colorSpec                                       (parámetros de color
                                                        del sistema)
     ------------------------------------------------------------------------
     1               El botón cuando no tiene el foco      No seleccionado
                     de entrada
     2               El botón cuando tiene el foco de      Mejorado
                     entrada y no está pulsado
     3               El botón cuando tiene el foco de      Estándar
                     entrada y está pulsado
     4               La tecla aceleradora del título       Fondo
                     del botón
     ------------------------------------------------------------------------

     Nota:  Los colores de fondo no se tienen en cuenta en el modo
     gráfico.

     FOCUS <fbloque> especifica un bloque de código que se evalúa cada
     vez que el botón recibe el foco. El bloque de código no tiene
     argumentos implícitos. La variable de instancia PushButton:hasFocus se
     utiliza para determinar si el botón tiene el foco.

     STATE <bBloque> especifica un bloque de código que se evalúa cada
     vez que cambia el estado del botón. El bloque de código no tiene
     argumentos implícitos. La variable de instancia PushButton:buffer se
     utiliza para determinar si el botón está o no pulsado. Un valor
     verdadero (.T.) indica que está pulsado y un valor falso (.F.) indica
     que no lo está.

     STYLE <cEstilo> especifica una cadena de caracteres con los
     delimitadores utilizados por el método display() del botón. Si se
     especifica, la cadena debe contener cero, dos u ocho caracteres. Por
     defecto, contiene dos caracteres. El primero es el delimitador
     izquierdo. Su valor por defecto es el carácter menor que (<). El
     segundo carácter es el delimitador derecho. Su valor por defecto es el
     carácter mayor que (>).

     Si la cadena de caracteres está vacía el botón no tiene delimitadores.
     Si la longitud de la cadena es dos, el botón tiene delimitadores tanto
     izquierdo como derecho y ocupa una fila de la pantalla. El primer
     carácter es el delimitador izquierdo y el segundo, el delimitador
     derecho. Si la longitud de la cadena es ocho, el botón aparece en un
     cuadro que ocupa tres filas de la pantalla.

     Tipos estándar de cuadro
     ------------------------------------------------------------------------
     Constante            Descripción
     ------------------------------------------------------------------------
     B_SINGLE             Cuadro de línea simple
     B_DOUBLE             Cuadro de línea doble
     B_SINGLE_DOUBLE      Borde superior/inferior de una sola línea,
                          borde izquierdo/derecho de línea doble
     B_DOUBLE_SINGLE      Borde superior/inferior de línea doble,
                          borde izquierdo/derecho de una sola línea
     ------------------------------------------------------------------------

     El fichero Box.ch contiene las constantes que representan los posibles
     valores de PushButton:style.

     El estilo por defecto de @...GET PUSHBUTTON es "<>".

     Nota:  La cláusula STYLE no se tiene en cuenta en el modo gráfico.

     SEND <mensaje> envía el mensaje especificado al objeto Get.
     <mensaje> se envía antes de la visualización del mandato GET. Es
     posible enviar cualquier mensaje, incluidas las llamadas a métodos y
     asignaciones de variables de instancia. Las llamadas a métodos deben
     incluir paréntesis aunque no se pasen argumentos.

     GUISEND <mensajeGUI> se puede utilizar para enviar un mensaje (por
     ejemplo, el método display()) a un objeto GUI. Los objetos GUI en
     CA-Clipper son cuadros de selección, cuadros de lista, botones y grupos
     de botones de opción. Para enviar un mensaje a un objeto que no sea
     GUI, por ejemplo objetos Get y TBrowse, se utiliza la cláusula SEND.

     SIZE X <nTamañoX> Y <nTamañoY> define el tamaño del botón. Las
     coordenadas se miden en píxeles. <nTamañoX> representa el número de
     píxeles en el eje x (horizontalmente) y <nTamañoY> representa el número
     de píxeles en el eje y (verticalmente). Este argumento sólo afecta a
     las aplicaciones que se ejecutan en modo gráfico y se ignora en el modo
     texto.

     CAPOFF X <nTítDespX> Y <nTítDespY> define el desplazamiento donde
     se va a mostrar el título. Las coordenadas se miden en píxeles.
     <nTítDespX> representa la distancia horizontal en píxeles desde el
     borde izquierdo del botón al lugar donde se visualizará el título.
     <nTítDespY> representa la distancia vertical en píxeles desde el borde
     superior del botón al lugar donde se visualizará el título. Si no se
     especifica la cláusula CAPOFF, el título aparece centrado en el
     interior del botón. Este argumento sólo afecta a las aplicaciones que
     se ejecutan en modo gráfico y se ignora en modo texto.

     BITMAP <cMapaBits> define un fichero de mapa de bits que se
     dibujará en el interior del botón. El nombre del fichero del mapa de
     bits no debe incluir ni la unidad ni el directorio; en cambio, la
     extensión es obligatoria. Un mapa de bits se puede almacenar tanto en
     un fichero de disco como en una biblioteca de mapa de bits. En el
     primer caso se debe almacenar en el directorio de la aplicación. Si se
     guarda en una biblioteca, ésta debe estar en el directorio de la
     aplicación, debe tener el mismo nombre y la extensión .BML.

     CA-Clipper busca primero el nombre del fichero en el disco y, si no lo
     encuentra, busca en la biblioteca de mapas de bits. Si no encuentra el
     fichero ni en el disco ni en la biblioteca no visualiza ningún mapa de
     bits.

     BMPOFF X <nMapaBitsDespX> Y <nMapaBitsDespY> define el
     desplazamiento donde se va a mostrar el mapa de bits. Las coordenadas
     se miden en píxeles. <nMapaBitsDespX> representa la distancia
     horizontal en píxeles desde el borde izquierdo del botón al lugar donde
     se visualizará el mapa de bits. <nMapaBitsDespY> representa la
     distancia vertical en píxeles desde el borde superior del botón al
     lugar donde se visualizará el título, medida en el eje y
     (verticalmente). Si no se especifica la cláusula BMPOFF, el mapa de
     bits aparece en la esquina superior izquierda del botón. Este argumento
     sólo afecta a las aplicaciones que se ejecutan en modo gráfico y se
     ignora en modo texto.

 Ejemplos

      Este ejemplo muestra cómo añadir un botón en una pantalla de
        entrada de datos:

        @ 5, 20 GET lCancel PUSHBUTTON ;
               CAPTION "&Cancelar"
               STATE { || ReadKill( .T. ) }

 Ficheros   Las bibliotecas asociadas son CLIPPER.LIB y LLIBG.LIB.

 To download this example - click here.

See Also: @...GET Get PushButton READ