Botón

Control de entrada en el que se visualiza un texto y/o una imagen y que permite disparar, en tiempo de ejecución, una acción o un comando predefinido.

Para crearlo ejecutar la opción botón de la barra de controles de entrada del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.

Propiedades

Identificador

Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.

Nombre

Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se mostrará en el botón al usuario final de la aplicación si no se ha establecido ningún valor en la propiedad contenido.

Los botones admiten aceleradores del tipo Alt + Tecla, para ello podemos escribir antes de la letra que se desea usar como acelerador el símbolo &. Dicha letra en ejecución aparecerá destacada con un carácter de subrayado.

Si al botón se le asigna también una tecla aceleradora será solamente funcional ésta, quedado invalidada la funcionalidad de alt + tecla.

Estilos

Podemos definir el estilo siguiente:

Privado

Limita el acceso del usuario final al sub-objeto desde puntos donde no se haya programado el acceso al mismo.

Comentarios

Esta propiedad nos permite documentar el uso del control.

Tipo

Muestra el tipo de control de que se trata. En este caso es botón, aunque podremos modificarlo. Si modificamos el tipo de control perderemos las propiedades específicas de éste.

Ancho

Alto

Posición X

Posición Y

Tooltip

Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.

Seleccionable con Tab

Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.

Condición visible

Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón que aparece al editar esta propiedad.

Condición activo

Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón que aparece al editar esta propiedad.

Contenido

Permite establecer el título que tendrá el control de cara al usuario final, éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón que aparece al editar esta propiedad. Si no se especificada nada en esta propiedad, se usará como título del control el dato introducido en la propiedad Nombre.

Los botones admiten aceleradores del tipo Alt + Tecla, para ello podemos escribir antes de la letra que se desea usar como acelerador el símbolo &. Dicha letra en ejecución aparecerá destacada con un carácter de subrayado.

Debemos de tener la precaución de no hacer coincidir dentro de un mismo contexto dos controles y/o subcontroles con la misma tecla aceleradora ya que, en el caso de suceder, no se disparará ninguno de ellos.

Si en esta propiedad especificamos la tecla aceleradora no podremos especificar otra en la propiedad tecla aceleradora.

Color de botón

En esta propiedad seleccionaremos el color del botón. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.

Color texto de botón

En esta propiedad seleccionaremos el color que tendrá el texto del botón. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.

Fondo opaco

Esta propiedad permite hacer transparente el color del control o aplicar un color opaco al mismo. Se tomará el color establecido en la propiedad color de botón.

Fuente

Esta propiedad permite establecer la fuente que usará el control. Pulsar el botón que aparece al editar esta propiedad para abrir el selector de fuentes.

Tecla aceleradora

Permite declarar una tecla que al pulsarla en tiempo de ejecución disparará la acción o el comando asociada al control. Las teclas posibles son:

  • Ninguna: no se usará tecla aceleradora.

  • Retroceso.

  • Tabulador.

  • Return (Intro).

  • Escape.

  • Espacio.

  • Teclas de función: desde F1 a F12.

  • Números: del 0 al 9.

  • Letras: de la A a la Z, excepto Ñ y Ç.

Debemos de tener la precaución de no hacer coincidir dentro de un mismo contexto dos controles y/o subcontroles con la misma tecla aceleradora ya que, en el caso de suceder, no se disparará ninguno de ellos.

Combinación de la tecla aceleradora

Esta propiedad nos permite establecer una tecla o combinación de teclas que, pulsadas simultáneamente junto con la declarada en la propiedad tecla aceleradora dispararán la acción o el comando asociado al control. Los valores posibles son:

Tecla

No se usará combinación de teclas.

Shift + Tecla

Para disparar la acción asociada al control se deberán pulsar simultáneamente la tecla Shift y la especificada en la propiedad tecla aceleradora.

Control + Tecla

Para disparar la acción asociada al control se deberán pulsar simultáneamente la tecla Control y la especificada en la propiedad tecla aceleradora.

Control + Shift + Tecla

Para disparar la acción asociada al control se deberán pulsar simultáneamente la combinación de las teclas Control, shift y la especificada en la propiedad tecla aceleradora.

Si en esta propiedad especificamos la tecla aceleradora no podremos especificar otra en la propiedad ni en la propiedad contenido.

Debemos ser conscientes de que los sistemas operativos, cuando se pulsan los aceleradores de un botón, provocan que se dispare la acción del botón, pero no le pasan el foco; es decir, el foco se mantiene en el control que lo tenía por lo que, si dicho control tiene asociado un evento de pérdida de foco, no se ejecutará.

Plano

Permite activar/desactivar el efecto 3D del botón.

Icono

Permite incluir dentro del botón un dibujo declarado en el proyecto o de un proyecto heredado.

Tamaño del icono

Permite establecer cuál será el tamaño del dibujo dentro del botón. Los valores posibles son:

Pequeño

El dibujo seleccionado será mostrado dentro del botón, guardando la proporción alto/ancho original, con un tamaño de 16×16 píxels.

Grande

El dibujo seleccionado será mostrado dentro del botón, guardando la proporción alto/ancho original, con un tamaño de 32×32 píxels.

Original

El dibujo seleccionado será mostrado dentro del botón, guardando la proporción alto/ancho original, con su tamaño original.

Botón por defecto

Si se activa esta opción, el botón atrapará la pulsación de la tecla intro en el formulario. En un formulario, por defecto es el botón “Aceptar” (o “Borrar”, si no existe el anterior) el que se acciona cuando pulsamos la tecla intro. Pero si a otro botón le activamos esta propiedad, éste será el que se dispare cuando el usuario pulse intro.

El botón que tenga activada esta propiedad puede ser configurado para que dispare cualquier comando que admitan los botones.

El sistema siempre asignará un botón como botón por defecto, esto es, botón que será pulsado si el usuario pulsa intro.

Si existe más de un botón que tenga activa esta propiedad, será el último en el orden de tabulación el que realmente atrape la pulsación del intro.

Si hay varios botones, ninguno dispara el comando “aceptar” y ninguno tiene activada la propiedad “botón por defecto” a verdadero. El intro lo atrapará el primero que encuentre en el orden tab (si sólo hay un botón, ese será el que dispare).

Si hay varios botones, y uno de ellos dispara el comando “aceptar”, éste atrapará el intro siempre, independientemente del orden de tabulación de los botones.

Si hay varios botones (haya botón “aceptar” o no en el formulario) y uno de los botones tiene activada la propiedad “botón por defecto”, entonces éste será el que atrape la pulsación del intro.

El botón por defecto de un formulario en función del estilo usado, visualmente es distinguido del resto:

En la captura de pantalla anterior es el botón “Aceptar” el botón por defecto del formulario.

Comando

Permite establecer el comando o la acción que disparará el botón. Los valores posibles son:

Aceptar

Guarda la ficha en disco y cierra el formulario.

Cancelar

Cancela los cambios realizados en el formulario y lo cierra. En el caso de que en el formulario se haya activado el estilo

bloqueo duro, este comando cancelará solamente las modificaciones realizadas en la ficha editada y no aseguradas en disco. Las modificaciones realizadas en otras fichas, en plurales o registros maestros actualizados por ejemplo, no serán deshechas, salvo, claro está, aquellas actualizaciones en las que intervenga el campo o campos cuya modificación será cancelada.

Eliminar

Borra del disco la ficha editada y cierra el formulario.

Alta de maestro

Permite dar un alta en una tabla maestra de la actual. Al seleccionar este comando aparecerán las propiedades campo y objeto donde podremos especificar el campo enlazado y su formulario de altas.

Edición de maestro

Permite modificar una ficha de una tabla maestra de la actual. Al seleccionar este comando aparecerán las propiedades campo y objeto donde podremos especificar el campo enlazado y su formulario de modificación.

Localizar maestro

Permite disparar un localizador de una tabla maestra de la actual. Al seleccionar este comando aparecerán las propiedades campo y objeto donde podremos especificar el campo enlazado y su localizador.

Si el usuario final selecciona un registro en el localizador disparado, el registro será capturado en la ficha de origen, con lo que el campo enlazado apuntará al registro seleccionado.

Acción

Permite disparar una acción declarada en el proyecto actual o en un proyecto heredado. La acción a disparar deberá ser seleccionada en la propiedad objeto.

Permite disparar un menú declarado en el proyecto actual o en un proyecto heredado. El menú a disparar deberá ser seleccionado en la propiedad objeto.

Ejecutar proceso

Permite disparar un proceso declarado en el proyecto actual o en un proyecto heredado. El proceso a disparar deberá ser seleccionado en la propiedad objeto.

Podremos disparar cualquier proceso sin origen, además, si el formulario está asociado a una tabla, podremos disparar procesos cuyo origen sea una ficha de la tabla asociada al formulario.

Ejecutar manejador de evento

Permite disparar un manejador de evento declarado en el formulario en curso. El evento a disparar deberá ser seleccionado en la propiedad objeto.

Moverse a hermano

Permite visualizar en el mismo formulario un registro anterior o un registro siguiente al actual. Para ello es necesario que en la tabla asociada al formulario exista un campo enlazado a hermano contiguo. El campo enlazado deberá ser seleccionado en la propiedad campo.

Mostrar subformulario modal

Permite visualizar el formulario que se indique en la propiedad objeto en modal. Es requisito indispensable que el origen del subformulario sea el mismo que el del formulario en curso.

Mostrar subformulario popup

Permite visualizar el formulario que se indique en la propiedad objeto en forma de popup. Es requisito indispensable que el origen del subformulario sea el mismo que el del formulario en curso. No se recomienda usar formularios popup en aplicaciones que vayan a ser ejecutadas en dispositivos móviles Android o iOS.

Aceptar controlado

Guarda la ficha en disco y cierra el formulario, previa petición de confirmación por parte del usuario.

Cancelar controlado

Cancela los cambios realizados en el formulario y lo cierra, previa petición de confirmación por parte del usuario. En el caso de que en el formulario se haya activado el estilo bloqueo duro, este comando cancelará solamente las modificaciones realizadas en la ficha editada y no aseguradas en disco. Las modificaciones realizadas en otras fichas, en plurales o registros maestros actualizados por ejemplo, no serán deshechas, salvo, claro está, aquellas actualizaciones en las que intervenga el campo o campos cuya modificación será cancelada.

Eliminar controlado

Borra del disco la ficha editada y cierra el formulario, previa petición de confirmación por parte del usuario.

Deshacer

Este comando solamente puede ser usado en formularios en los que se ha activado el estilo bloqueo duro. Este comando deshará la transacción, es decir, que se desharán todas las operaciones de escritura realizadas tanto directa como indirectamente desde ese formulario. Este comando equivale al comando de instrucción de proceso deshacer transacción.

Deshacer controlado

Este comando solamente puede ser usado en formularios en los que se ha activado el estilo bloqueo duro. Este comando, previa confirmación por parte del usuario, deshará la transacción, es decir, que se desharán todas las operaciones de escritura realizadas tanto directa como indirectamente desde ese formulario. Este comando equivale al comando de instrucción de proceso deshacer transacción.

Mover foco al control siguiente

Este comando mueve el foco al siguiente control en el orden tab. El uso de un botón con este comando será útil en el caso de que queramos usar para el avance del foco una tecla o una combinación de teclas distintas a la estándar (Tab).

En el caso de la tecla Intro para su uso en avance de control hemos de hacer uso de la propiedad botón por defecto y no asignarla como tecla aceleradora. La tecla aceleradora Return se refiere a la tecla Return del teclado alfanumérica, ya que el sistema operativo gestiona esa tecla de forma independiente a la tecla Return en el teclado numérico.

Haciendo uso de la propiedad botón por defecto conseguimos que al aceptar de una de las dos formas, el sistema haga la pulsación del botón que tenga asignada la propiedad.

Mover foco al control anterior

Este comando mueve el foco al control anterior en el orden tab. El uso de un botón con este comando será útil en el caso de que queramos usar para el retroceso del foco una tecla o una combinación de teclas distintas a la estándar (Shift + Tab).

Aceptar sin cerrar

Este comando es específico para altas y solamente es funcional en formularios modales (cuadro de diálogo). Acepta los datos introducidos en el formulario pero no lo cierra, lo mantiene abierto para que pueda darse de alta una nueva ficha. En el caso de ser usado en un formulario de modificación, este comando simplemente guardará cambios y lo cerrará. Este comando es muy útil para realizar altas masivas en una tabla.

Alta de ficha en tabla de extensión

Botón específico cuando hacemos uso de la herencia inversa en tablas de extensión. Para ampliar información sobre su uso, ver el punto "herencia inversa en tablas de extensión" del capítulo dedicado a la herencia.

Alta controlada de ficha en tabla de extensión

Botón específico cuando hacemos uso de la herencia inversa en tablas de extensión. Para ampliar información sobre su uso, ver el punto herencia inversa en tablas de extensión del capítulo dedicado a la herencia.

Campo

Esta propiedad aparecerá cuando en la propiedad comando hemos seleccionado el comando alta de maestro, edición de maestro o localizar mestro y permite seleccionar el campo enlazado al maestro sobre el que actuará el comando.

Objeto

Esta propiedad aparecerá cuando en la propiedad comando hemos seleccionado el comando alta de maestro, edición de maestro o localizar mestro y permite seleccionar el objeto del comando (formulario en el caso de alta y/o edición de maestro y localizador en el caso del comando localizar maestro).

Ancho en layout

Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:

Por defecto

Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los botones , por defecto, no crecen en anchura.

Fijo

El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.

Proporcional

El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.

Alto en layout

Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:

Por defecto

Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los botones, por defecto, no crecen en altura.

Fijo

La altura del control será fija, no variará para adaptarse a la altura del formulario.

Proporcional

La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.

Tipo de menú de contexto

Permite asignar un menú de contexto al control. Los valores posibles son:

Ninguno

En ejecución el control carecerá de menú de contexto.

Por defecto

En ejecución se usará el menú de contexto por defecto del control. No todos los controles por defecto tienen menú de contexto.

Personalizado

Permite indicar que el control usará un objeto menú declarado en el proyecto de aplicación o en cualquier proyecto heredado.

Este parámetro solamente estará disponible si en el parámetro anterior hemos seleccionado el valor personalizado. En él seleccionaremos el objeto menú declarado en el proyecto de aplicación o en cualquier proyecto heredado que queremos usar como menú de contexto del control.

Última actualización