Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Decidir O Cambiar El Orden Del Foco En Los Componentes Del Formulario
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Decidir O Cambiar El Orden Del Foco En Los Componentes Del Formulario 
 
Hola,

Cuando inicia mi Formulario el foco se inicia donde quiere y no donde a mi me gustaría que este. En visual Basic recuerdo que tenia un ID de orden para decidir donde comenzar e incluso ordenarlos todos.

En la interfaz de gambas existe algo como Jerarquía pero no se si es eso.

Pero no debe ser por lo siguiente, les pongo un ejemplo:

Tengo un TabPanel1 y en la capa superior a el esta un componente personal (Llamo X). Ocurre esto:

1. Si pongo el TabPanel1 en la jerarquía superior a X, X no recibe el evento MouseUp
2. Si pongo el TabPanel1 en la jerarquía inferior a X, X ya recibe el evento MouseUp pero siempre recibe el Foco el primero.

Yo quiero que el Foco esté en TabPanel1 pero poder acceder al evento MouseUp de X

La razón por la que no recibe el evento en el caso 1 es que el TabPanel1 en su parte transparente tapa al componente X

Esto lo resolvería un orden de Foco pero no se como resolverlo. En realidad lo resolvería haciendo trampa, lo explico, cuando haga MouseUp en TabPanel1 pues enviar el foco al componente X pero eso son chapuzas puntuales.

¿Hay solución digna?

Gracias.
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Decidir O Cambiar El Orden Del Foco En Los Componentes Del Formulario 
 
Se hace vía jerarquía. Se complementa con la propiedad NoTabFocus para que tome o no el foco vía tecla Tab.

Por otra parte el pretender levantar el evento de pulsación de ratón de algo no visible, no tiene sentido. El usuario no sabe dónde está haciendo click.

Ya sabes que hay eventos, como los de teclado y (creo, nunca lo he explorado) ratón que se propagan por la jerarquía de objetos. Deberías averiguar qué objeto es el que observa ese click (apuesto por el contenedor) y tratar ahí el código que deseas.

Saludos
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Decidir O Cambiar El Orden Del Foco En Los Componentes Del Formulario 
 
gambafeliz escribió:  


La razón por la que no recibe el evento en el caso 1 es que el TabPanel1 en su parte transparente tapa al componente X



Shordi:

Fijate en la frase que, se que no te has dado cuenta y no importa. El TabPanel1 tapa en su parte transparente al componente X pero el componente X es visible para el usuario y por lo tanto el usuario piensa que el evento MouseUp esta presente. Por lo tanto clicka y clicka pero na de na.

Y si lo pongo (componente x) en la jerarquía primero pues todo bien pero cuando carga el programa se sitúa en el componente x y no en TabPanel1 como yo quiero. Es problema de jerarquía y no de otra cosa.

La solución es quizás en el formulario cambiar el foco a TabPanel1 de alguna forma. En fin, voy a ponerme en ello.

Nota: Por si no quedo claro, este problema no es en la creación de un componente sino en un programa que lleva componentes (un programa normal)
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Decidir O Cambiar El Orden Del Foco En Los Componentes Del Formulario 
 
shordi escribió:  
Se hace vía jerarquía. Se complementa con la propiedad NoTabFocus para que tome o no el foco vía tecla Tab.

Por otra parte el pretender levantar el evento de pulsación de ratón de algo no visible, no tiene sentido. El usuario no sabe dónde está haciendo click.

Ya sabes que hay eventos, como los de teclado y (creo, nunca lo he explorado) ratón que se propagan por la jerarquía de objetos. Deberías averiguar qué objeto es el que observa ese click (apuesto por el contenedor) y tratar ahí el código que deseas.

Saludos


Oye tienes razón la solución esta por código en su contenedor (Form) cambiando el setFocus en Open() en la llamada última. Yo pretendía resolverlo desde la interfaz gráfica gambas mediante el IDE por propiedades, jerarquía o lo que sea, pero no era la solución.

De forma directa a resuelto como es normal en ti.

Gracias

Nota: Si pegas en mi puerta te juro que no te abro que eres capaz de pasarme una minuta que te llegue a los zapatos.  
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes El Foco En Los Componentes Shell General 2 Miercoles, 22 Febrero 2012, 00:32 Ver último mensaje
Shell
No hay nuevos mensajes ¿ Cómo Puedo Cambiar El Foco Entre Formu... Shell General 5 Jueves, 04 Septiembre 2014, 01:06 Ver último mensaje
Shell
No hay nuevos mensajes Cambiar El TextBox De Un Formulario, Con E... CanihoJR General 14 Sabado, 17 Octobre 2009, 17:51 Ver último mensaje
david
No hay nuevos mensajes Devolver El Foco A Un Textbox Desde Otro F... Tasagore General 12 Lunes, 15 Agosto 2016, 11:39 Ver último mensaje
Tasagore
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario