Control
Contenido
Interfaz: ¿está activado el subcontrol del contenedor de formularios?
Interfaz: ¿está habilitado el subcontrol del contenedor de formularios?
Interfaz: activar subcontrol del contenedor de formularios
Interfaz: establecer hoja de estilo CSS
Interfaz: establecer hoja de estilo filescript
Interfaz: habilitar el subcontrol del contenedor de formularios
Control
Grupo de comandos de Interfaz.
Interfaz: ¿está activado el subcontrol del contenedor de formularios?
Comando de instrucción del grupo Interfaz para separador de formularios, caja de formularios y pila de formularios. Permite conocer si está activo un subformulario concreto de los mismos.
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en manejador eventos.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Identificador de control
Este parámetro desplegará la lista de los subobjetos de tipo separador, caja y pila de formularios declarados en el formulario. Seleccionar el objeto a evaluar
Identificador de subcontrol de formulario
Este parámetro desplegará la lista de los subformularios declarados en el control seleccionado en el parámetro anterior. Seleccionar el que se desea evaluar.
Identificador de variable local booleana de retorno de ok
Variable local.
Funcionalidad
Este comando de instrucción permite conocer si está activo o no un subformulario concreto de un control de tipo separador, caja o pila de formularios incrustado en un formulario.
Comentarios
Este comando solamente puede ser usado en manejadores de eventos.
Este comando solamente permite actuar sobre sub-controles del formulario en curso; no siendo posible, por tanto, actuar sobre sub-controles de los formularios incluidos dentro de éstos.
Ejemplo
Comprobamos si está activa la rejilla REJ_02 del separador de formularios SEP_FOR
Interfaz: ¿está habilitado el subcontrol del contenedor de formularios?
Comando de instrucción del grupo Interfaz.
Permite conocer si un subobjeto del control (una pestaña de un separador, por ejemplo) está o no habilitado.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Identificador de control
Este parámetro desplegará la lista de los subobjetos de tipo separador, caja y pila de formularios declarados en el formulario. Seleccionar el control sobre el que se desea actuar.
Identificador de subcontrol de formulario
Este parámetro desplegará la lista de los subformularios declarados en el control seleccionado en el parámetro anterior. Seleccionar el que se desea conocer si está o no habilitado.
Identificador de variable local booleana de retorno de ok
Especificación de una variable local.
Funcionalidad
Este comando de instrucción permite conocer si un subformulario de un control de tipo Separador formularios está o no habilitado y guarda en una variable local de tipo booleano su estado. Si es 1 querrá decir que el subcontrol está habilitado, si es 0, que está deshabilitado.
Comentarios
Este comando solamente permite actuar sobre sub-controles del formulario en curso; no siendo posible, por tanto, actuar sobre sub-controles de los formularios incluidos dentro de éstos.
Este comando solamente puede ser usado en manejadores de eventos de objetos.
Ejemplo
Comprobamos si está habilitada la rejilla REJ_02 del separador de formularios SEP_FOR y mostramos su estado mediante un mensaje.
Interfaz: ¿está habilitado?
Comando de instrucción del grupo Interfaz.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Identificador de control
Este parámetro desplegará la lista con todos los objetos y sub-objetos accesibles desde el origen actual. Si algún objeto contiene a su vez otros sub-objetos, junto a su identificador aparecerá un nodo que podremos desplegar para acceder a los mismos. Seleccionar el objeto/sub-objeto que desea comprobar:
Funcionalidad
Este comando de instrucción permite conocer si está habilitado un subobjeto del objeto en curso o de cualquiera de sus sub-objetos o del marco. Si está habilitado devolverá un 1 y si está deshabilitado devolverá un 0.
Comentarios
Este comando solamente puede ser usado en manejadores de eventos.
Además de comprobar si un control está o no habilitado, también podremos habilitarlo o deshabilitado.
Ejemplo
Comprobamos si está habilitado el control de tipo botón BTN_CHECK.
Interfaz: ¿está visible?
Comando de instrucción del grupo Interfaz.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Identificador de control
Este parámetro desplegará la lista con todos los objetos y sub-objetos accesibles desde el origen actual. Si algún objeto contiene a su vez otros sub-objetos, junto a su identificador aparecerá un nodo que podremos desplegar para acceder a los mismos. Seleccionar el objeto/sub-objeto a evaluar:
Funcionalidad
Este comando de instrucción permite conocer si es visible o no un subobjeto del objeto en curso o de cualquiera de sus sub-objetos o del marco. Si está visible devolverá un 1 y si está oculto devolverá un 0.
Comentarios
Este comando, puede ser usado tanto en manejadores de eventos.
Además de comprobar la visibilidad de un control, también podremos mostrarlo.
Ejemplo
Cortamos la lista de registros REJ del subformulario REJ_01 que se encuentra en el separador de formularios SEP_FOR en el caso de que el subformulario REJ_01 esté visible.
Interfaz: ¿tiene foco?
Comando de instrucción del grupo Interfaz tiene o no el foco.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Identificador de control
Este parámetro desplegará la lista con todos los objetos y sub-objetos accesibles desde el origen actual. Si algún objeto contiene a su vez otros sub-objetos, junto a su identificador aparecerá un nodo que podremos desplegar para acceder a los mismos. Seleccionar el objeto/sub-objeto a evaluar:
Funcionalidad
Este comando de instrucción permite conocer si un subobjeto del objeto en curso o de cualquiera de sus sub-objetos o del marco tiene o no el foco. Si lo tiene devolverá un 1 y si no lo tiene devolverá un 0.
Comentarios
Este comando, puede ser usado tanto en manejadores de eventos.
Además de comprobar si un control tiene o no el foco, también podremos dárselo.
Ejemplo
Si tienen foco el campo NOM establecemos el valor del mensaje en la variable local VAR_MSG que pueda estar mostrándose en el control de texto estático en el formulario.
Interfaz: activar subcontrol del contenedor de formularios
Comando de instrucción del grupo Interfaz.
Permite activar un subformulario concreto de los mismos.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Identificador de control
Este parámetro desplegará la lista de los subobjetos de tipo separador, caja y pila de formularios declarados en el formulario. Seleccionar el objeto en el que se desea fijar el foco.
Identificador de subcontrol de formulario
Este parámetro desplegará la lista de los subformularios declarados en el control seleccionado en el parámetro anterior. Seleccionar el que se desea activar.
Funcionalidad
Este comando de instrucción permite activar un subformulario concreto de un control de tipo separador, caja o pila de formularios incrustado en un formulario.
Comentarios
Este comando solamente puede ser usado en manejadores de eventos.
Este comando solamente permite actuar sobre sub-controles del formulario en curso; no siendo posible, por tanto, actuar sobre sub-controles de los formularios incluidos dentro de éstos.
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en manejadores de eventos de objetos.
Este comando no es funcional en separadores que contengan formularios con la propiedad punto de inserción activada. El motivo es que desde el origen actual no se tiene conocimiento del formulario o formularios añadidos al punto de inserción.
Ejemplo
Activamos un subcontrol u otro dependiendo del valor de la variable REJ.
Interfaz: deshabilitar
Comando de instrucción del grupo Interfaz.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Identificador de control
Este parámetro desplegará la lista con todos los objetos y sub-objetos accesibles desde el origen actual. Si algún objeto contiene a su vez otros sub-objetos, junto a su identificador aparecerá un nodo que podremos desplegar para acceder a los mismos. Seleccionar el objeto/sub-objeto a deshabilitar:
Funcionalidad
Este comando de instrucción permite deshabilitar un subobjeto de un objeto. Cuando un objeto está deshabilitado, el usuario final no podrá interactuar con él.
Comentarios
Este comando, puede ser usado tanto en manejadores de eventos.
Ejemplo: en un formulario podremos ejecutar eventos para que, en función de una condición, mediante el uso de este comando y del comando Interfaz: habilitar, un subcontrol del formulario esté habilitado o no.
También podremos habilitar o deshabilitar subobjetos de un objeto declarando una condición en la propiedad Condición de activo del propio subobjeto.
Este comando de instrucción de proceso no es funcional en el caso de que el control sea un botón.
Ejemplo
En la pérdida de foco del control del campo #NAME podemos comprobar si el campo #NAME de la ficha en curso está vacío deshabilitando el control BTC_ACE (Botón aceptar)
Interfaz: establecer foco
Comando de instrucción del grupo Interfaz.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Identificador de control
Este parámetro desplegará la lista con todos los objetos y sub-objetos accesibles desde el origen actual. Si algún objeto contiene a su vez otros sub-objetos, junto a su identificador aparecerá un nodo que podremos desplegar para acceder a los mismos. Seleccionar el objeto/sub-objeto sobre el que se quiere fijar el foco:
Funcionalidad
Este comando de instrucción permite fijar el foco en un subobjeto del objeto en curso o de cualquiera de sus sub-objetos o del marco.
Comentarios
Este comando, puede ser usado tanto en manejadores de eventos.
En el caso de rejillas, este comando de instrucción nos permitirá seleccionar una columna de rejilla en la que posicionarse, abriendo la edición en el caso de que esté configurada.
Ejemplo: este comando nos permitirá fijar, desde un evento, el foco en un control concreto del mismo.
Si el objeto de origen es una ventana modal no podrá enviarse el foco a ningún objeto de la ventana que la contenga (por ejemplo, desde un formulario modal no podremos enviar el foco a un sub-objeto del marco principal del proyecto).
Cuando usamos este comando desde un evento de inicializado de un formulario, existe una diferencia funcional entre formularios en vista y formularios en cuadro de diálogo que es necesario conocer, ya que no puede evitarse:
En cuadro de diálogo: sólo se lanza el evento de ganancia de foco del control especificado en el manejador de evento inicializado.
En vista: primero gana foco el primer control de formulario y después gana foco el control especificado en el manejador de evento inicializado. Si el control especificado en el manejador de evento inicializado coincide que es el primer control, el evento sólo se ejecuta una vez.
Cuando establecemos foco con este comando no se dispara el manejador de evento asociado a las señales de pérdida de foco del control ni de ganancia de foco del control que recibe el foco. Esto es así porque, por un lado, somos nosotros los que estamos gestionando el foco, así que debemos ser nosotros los que realicemos la acción necesaria en ese caso (por ejemplo, lanzar el manejador de evento que deba ejecutarse al ganar el foco el control actual). Por otro lado, cuando se ejecuta un manejador de evento no se disparan otras señales y sus manejadores de evento ya que podría dar lugar a recursividades o ejecuciones en cascada no deseadas.
Ejemplo
Antes de aceptar un formulario comprobamos si los campos indicados están vacíos y establecemos el foco en el campo que se ha verificado.
Interfaz: establecer fuente
Comando de instrucción que permite aplicar una fuente principal del proyecto.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Identificador de control
Este parámetro desplegará la lista con todos los objetos y sub-objetos accesibles desde el origen actual. Si algún objeto contiene a su vez otros sub-objetos, junto a su identificador aparecerá un nodo que podremos desplegar para acceder a los mismos. Seleccionar el objeto/sub-objeto al que se aplicará la fuente:
Nombre de fuente
Nombre de la fuente a aplicar al subobjeto.
Funcionalidad
Permite aplicar una fuente.
Comentarios
Este comando, puede ser usado tanto en manejadores de eventos.
En las propiedades de un proyecto de aplicación, podemos definir fuentes y asignarles un nombre. Con este comando y el nombre que se le ha dado a la fuente podemos fijar a un objeto dicho estilo de elementos. Un ejemplo útil sería, si el usuario no ha rellenado un dato obligatorio en un formulario, lo detectamos y aplicamos con este comando una fuente negrita a la fuente de la etiqueta del campo sin rellenar, con lo que el usuario lo localizará rápidamente.
Ejemplo
Establecemos una fuente específica en el caso de que el control del campo #NAME no tenga contenido estableciendo el foco y el control en dicho control.
Interfaz: establecer hoja de estilo CSS
Comando de instrucción del grupo Interfaz.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Identificador de control
Este parámetro desplegará la lista con todos los objetos y sub-objetos accesibles desde el origen actual. Si algún objeto contiene a su vez otros sub-objetos, junto a su identificador aparecerá un nodo que podremos desplegar para acceder a los mismos. Seleccionar el objeto/sub-objeto al que se le va a aplicar el css:
Fórmula texto hoja de estilo CSS
Expresión de tipo fórmula con el código fuente del CSS a aplicar. Para facilitar la especificación de la fórmula podremos hacer uso del asistente para edición de fórmulas.
Funcionalidad
Permite modificar de forma dinámica el aspecto visual de un objeto o de un subobjeto del objeto en curso o de cualquiera de sus sub-objetos o del marco.
Comentarios
Este comando, puede ser usado tanto en manejadores de eventos.
El estilo aplicado afectará a todos los sub-objetos del objeto o sub-objeto al que se le ha aplicado. Es decir, si aplicamos una CSS al marco será aplicado a todos los sub-objetos del mismo y a todos las ventanas que se obtengan desde el mismo.
Para obtener información sobre las CSS aplicables a Velneo pulsa aquí.
Si en la fórmula vamos a escribir directamente el código fuente correspondiente al CSS a aplicar, debemos tener en cuenta que, dado que la comilla (“) es el carácter que se usa en las fórmulas para delimitar constantes, si en el código fuente del CSS hay comillas, tendremos que sustituir éstas en la fórmula por la secuencia de escape “\c”.
Ejemplo:
Código fuente original de CSS:
Fórmula en Velneo:
NOTA: las hojas de estilo CSS afectan en función del estilo visual. En Windows, por ejemplo, la cabeceras de las rejillas no pueden ser modificadas ya que el estilo visual no lo permite. Si aplicamos un CSS en el marco principal de la aplicación, éste no será aplicado a los objetos disparados desde manejadores de evento del mismo. En este caso debemos aplicar e CSS desde el propio objeto que se dispara.
Ejemplo
Establecemos una hoja de estilo CSS para las rejillas en el manejador de eventos PRE_INI del objeto AUTOEXEC
Interfaz: establecer hoja de estilo filescript
Comando de instrucción del grupo Interfaz.
Dicha hoja de estilos estará almacenada dentro del proyecto en curso o de un proyecto heredado, dentro de la carpeta de scripts.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Identificador de control
Este parámetro desplegará la lista con todos los objetos y sub-objetos accesibles desde el origen actual. Si algún objeto contiene a su vez otros sub-objetos, junto a su identificador aparecerá un nodo que podremos desplegar para acceder a los mismos. Seleccionar el objeto/sub-objeto al que se le va a aplicar el css:
Path script file
Fichero CSS a ejecutar. Se desplegará una lista con todos los ficheros accesibles desde el proyecto en curso. Seleccionaremos el deseado. En la ventana de selección del fichero podemos activar la opción aplicar macros. Si se activa lo que se hace es sustituir el id_ref de proyecto por la macro (CurrentProject). De esta forma, cuando movamos el script y el proceso de un proyecto a otro, la referencia se conservará gracias a la macro, apuntando al fichero correspondiente buscándolo en el proyecto en curso.
Funcionalidad
Permite modificar de forma dinámica el aspecto visual de un objeto o de un subobjeto del objeto en curso o de cualquiera de sus sub-objetos o del marco almacenada en un fichero del proyecto o de un proyecto heredado.
Comentarios
Este comando, puede ser usado tanto en manejadores de eventos.
El estilo aplicado afectará a todos los sub-objetos del objeto o sub-objeto al que se le ha aplicado. Es decir, si aplicamos una CSS al marco será aplicado a todos los sub-objetos del mismo y a todos las ventanas que se obtengan desde el mismo.
Para obtener información sobre las CSS aplicables a Velneo pulsa aquí.
Nota
Las hojas de estilo CSS afectan en función del estilo visual. En Windows, por ejemplo, la cabeceras de las rejillas no pueden ser modificadas ya que el estilo visual no lo permite.
Ejemplo
Establecemos una hoja de estilo CSS de un Script del proyecto en el manejador de eventos PRE_INI del objeto AUTOEXEC
Interfaz: establecer paleta
Este comando, si bien sigue funcional en la versión actual, en próximas versiones podrá desaparecer, así que recomendamos su sustitución por el uso de CSS, que podremos aplicar mediante el comando de instrucción de proceso Interfaz: establecer hoja de estilo CSS.
Comando de instrucción del grupo Interfaz.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Identificador de control
Este parámetro desplegará la lista con todos los objetos y sub-objetos accesibles desde el origen actual. Si algún objeto contiene a su vez otros sub-objetos, junto a su identificador aparecerá un nodo que podremos desplegar para acceder a los mismos. Seleccionar el objeto/sub-objeto al que se aplicará la paleta:
Nombre de paleta
Nombre de la paleta de colores a aplicar al subobjeto.
Funcionalidad
Permite aplicar una paleta de colores.
Comentarios
Este comando, puede ser usado tanto en manejadores de eventos.
En las propiedades de un proyecto de aplicación, podemos definir paletas de colores y asignarles un nombre. Con este comando y el nombre que se le ha dado a la paleta podemos fijar a un objeto dicho estilo de elementos.
Un ejemplo útil sería, si el usuario no ha rellenado un dato obligatorio en un formulario, lo detectamos y aplicamos con “set paleta” un color rojo a la fuente de la etiqueta del campo sin rellenar, con lo que el usuario lo localizará rápidamente.
Ejemplo
Aplicamos la Paleta_1 de colores al control NOM en caso de que la variable local APLICAR_PALETA sea 1.
Interfaz: habilitar
Comando de instrucción del grupo Interfaz.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Identificador de control
Este parámetro desplegará la lista con todos los objetos y sub-objetos accesibles desde el origen actual. Si algún objeto contiene a su vez otros sub-objetos, junto a su identificador aparecerá un nodo que podremos desplegar para acceder a los mismos. Seleccionar el objeto/sub-objeto a habilitar:
Funcionalidad
Este comando de instrucción permite habilitar un subobjeto del objeto en curso o de cualquiera de sus sub-objetos o del marco. Cuando un objeto está habilitado, el usuario final podrá interactuar con él, si está deshabilitado, no.
Comentarios
Este comando, puede ser usado tanto en manejadores de eventos.
Ejemplo: en un formulario podremos ejecutar eventos para que, en función de una condición, mediante el uso de este comando y del comando Interfaz: deshabilitar, un subcontrol del formulario esté habilitado o no.
También podremos habilitar o deshabilitar subobjetos de un objeto declarando una condición en la propiedad Condición de activo del propio subobjeto.
Ejemplo
Si el campo #NAME de la ficha en curso contiene información el control BTC_ACE (Botón aceptar) será habilitado.
Interfaz: habilitar el subcontrol del contenedor de formularios
Comando de instrucción del grupo Interfaz.
Permite habilitar/deshabilitar un subobjeto del control (una pestaña de un separador, por ejemplo).
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Identificador de control
Este parámetro desplegará la lista de los subobjetos de tipo separador, caja y pila de formularios declarados en el formulario. Seleccionar el control sobre el que se desea actuar.
Identificador de subcontrol de formulario
Este parámetro desplegará la lista de los subformularios declarados en el control seleccionado en el parámetro anterior. Seleccionar el que se desea habilitar o deshabilitar.
Fórmula de condición
Expresión de tipo fórmula para establecer la condición que debe cumplirse para que el subcontrol esté habilitado. Para facilitar su introducción podemos hacer uso del asistente para edición de fórmulas.
Funcionalidad
Este comando de instrucción permite habilitar/deshabilitar un subformulario de un control de tipo Separador formularios mediante la especificación de una condición.
Si la condición se cumple, el subcontrol estará habilitado, si no se cumple, estará deshabilitado; es decir, el usuario no podrá acceder al mismo.
Comentarios
Este comando solamente permite actuar sobre sub-controles del formulario en curso; no siendo posible, por tanto, actuar sobre sub-controles de los formularios incluidos dentro de éstos.
Este comando solamente puede ser usado en manejadores de eventos de objetos.
Este comando exige que al menos un subformulario del objeto esté habilitado. En el caso de querer deshabilitarlos todos lo que tendremos que hacer es deshabilitar el control en sí (el separador) mediante el uso del comando de instrucción Interfaz: deshabilitar en el formulario.
Ejemplo
Habilitamos un sub-control u otro dependiendo del valor de la variable REJ.
Interfaz: mostrar
Comando de instrucción del grupo Interfaz.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Identificador de control
Este parámetro desplegará la lista con todos los objetos y sub-objetos accesibles desde el origen actual. Si algún objeto contiene a su vez otros sub-objetos, junto a su identificador aparecerá un nodo que podremos desplegar para acceder a los mismos. Seleccionar el objeto/sub-objeto a mostrar:
Funcionalidad
Este comando de instrucción permite hacer visible un sub-objeto del objeto actual o de cualquiera de sus sub-objetos o del marco.
Comentarios
Este comando, puede ser usado tanto en manejadores de eventos.
Ejemplo: en un formulario podremos ejecutar eventos para que, en función de una condición, mediante el uso de este comando y del comando Interfaz: ocultar, un subcontrol del formulario sea mostrado u ocultado.
También podremos mostrar u ocultar subobjetos de un objeto declarando una condición en la propiedad Condición visible del propio subobjeto.
Ejemplo
Mostramos los controles en caso de que el usuario sea administrador.
Interfaz: ocultar
Comando de instrucción del grupo Interfaz.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Identificador de control
Este parámetro desplegará la lista con todos los objetos y sub-objetos accesibles desde el origen actual. Si algún objeto contiene a su vez otros sub-objetos, junto a su identificador aparecerá un nodo que podremos desplegar para acceder a los mismos. Seleccionar el objeto/sub-objeto a ocultar:
Funcionalidad
Este comando de instrucción permite ocultar un subobjeto del objeto en curso o de cualquiera de sus sub-objetos o del marco.
Comentarios
Este comando, puede ser usado tanto en manejadores de eventos.
Ejemplo: en formulario podremos ejecutar eventos para que, en función de una condición, mediante el uso de este comando y del comando Interfaz: mostrar, un control del mismo sea mostrado u ocultado.
También podremos mostrar u ocultar subobjetos de un objeto declarando una condición en la propiedadCondición visible del propio subobjeto.
Este comando de instrucción no es funcional para ocultar columnas de rejillas.
Ejemplo
Ocultar los controles en caso de que el usuario no sea administrador.
Interfaz: quitar foco
Comando de instrucción del grupo Interfaz.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Identificador de control
Este parámetro desplegará la lista con todos los objetos y sub-objetos accesibles desde el origen actual. Si algún objeto contiene a su vez otros sub-objetos, junto a su identificador aparecerá un nodo que podremos desplegar para acceder a los mismos. Seleccionar el objeto/sub-objeto al que se desea quitar el foco:
Funcionalidad
Este comando de instrucción permite quitar el foco de un subobjeto del objeto en curso o de cualquiera de sus sub-objetos o del marco.
Comentarios
Este comando, puede ser usado tanto en manejadores de eventos.
Ejemplo: este comando nos permitirá quita, desde un evento, el foco a un control concreto del mismo y llevarlo, mediante el comando Interfaz: activar foco objeto, a otro control.
Si el objeto de origen es una ventana modal no podrá quitarse el foco de ningún objeto de la ventana que la contenga (por ejemplo, desde un formulario modal no podremos quitar el foco a un sub-objeto del marco principal del proyecto).
Ejemplo
Comprobamos si tiene foco el control FCH_ALTA y si lo tiene quitamos el foco de dicho control y lo establecemos en el control TXT_HOR.
Última actualización