Evitar que un control gane el foco


([N4] gontorre) #1

Buenos días a todos,

¿Hay alguna manera de evitar que un control de un formulario gane el foco? Quiero evitar que se pueda modificar el contenido de un campo en función de los permisos del usuario. Sé que lo puedo controlar con la propiedad “Condición de activo”, pero de esa manera se desactiva el control y me aparece con el texto y la imagen “apagados”.

He probado a poner un manejador de eventos con dato de retorno = NO asociado a la señal “Gana foco” del control pero eso no evita que el control gane el foco.

Perdonad si la pregunta es una chorrada pero llevo solamente un par de semanas con Velneo y todavía me estoy familiarizando con la herramienta :slight_smile:

Gracias de antemano


([N1] wikan) #2

Usa la condición de “Solo lectura”, no te desactiva el control, pero tampoco te deja escribir


([N4] gontorre) #3

Lo había pensado, pero el control en cuestión es un combobox asociado a una tabla estática y no tiene la propiedad “Solo lectura”


([N2] Mgalvezh) #4

y para que usas un combobox en un dato solo lectura ?, pon cualquier control y lo cargas con el valor de la tabla estática.

Saludos.
Miguel.


([N4] gontorre) #5

Lo del combobox lo pongo porque creo que es la única forma de que se muestren los iconos que hay asignados a los elementos de la tabla estática. Además el dato no es de sólo lectura en todos los casos. Depende de los privilegios del usuario.

Al final se trata de algo meramente estético, ya que puedo utilizar la propiedad “Solo lectura” condicionada a los privilegios del usuario y funciona correctamente. La única pega es que tabnto el texto del control como el icono asociado se quedan en gris.

Saludos
Gonzalo


([N3] pacosatu) #6

Hola Gonzalo.

Usa las 2 opciones, un combobox por un lado y una edición alfabética con un control dibujo por otro.
Cada control tiene la condición de Visible según tenga permiso el Usuario o no lo tenga, respectivamente.

Si hay acceso el combobox mostrará el icono y el valor de la estática permitiendo la edición.
Si no hay acceso la edición alfabética y el control dibujo serán de solo lectura y de esta forma conseguimos que no pueda editar pero mostramos correctamente el dibujo de la estática.

El objeto dibujo tiene la propiedad “Campo dibujo” = #ID_ESTATICA.ICON

Pruébalo
Saludos
Paco Satué


([N4] gontorre) #7

Perfecto!

Lo he probado y consigo justo el comportamiento que quiero. De todas formas sería más sencillo si el combobox tuviera la propiedad “Solo lectura”.

Gracias Paco.