Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 2 de 2
Ir a la página Anterior  1, 2
 
Eventos De Controles Generador Por Código
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Re: Eventos De Controles Generador Por Código 
 
Shordi:
ok, voy a intentar reemplazar el panel con un formulario, pero no recuerdo donde, pero una vez lei que el observador de eventos del formulario "padre" no ve tampoco los eventos del formulario "hijo". Lo cual me lleva a que no puedo reutilizar el código si es así ya que panel o formulario-incrustado da lo mismo a la hora de ver los eventos.
Pero no lo probé, luego comento que tal fue.
Y tranqui que yo suscribo a la filosofía "keep it simple stupid" todo lo que me permite mi nivel técnico

Gracias y Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Eventos De Controles Generador Por Código 
 
+1
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Eventos De Controles Generador Por Código 
 
Bueno, probé usar un formulario incrustado dentro de otro, pero el formulario padre NO ve los eventos del formulario hijo lo cual me lleva otra vez al casillero de partida.
Es una lastima porque abriría muchas posibilidades, con menos código que escribir.
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Eventos De Controles Generador Por Código 
 
Eso es fácil de solucionar, creo. Dame un rato y te subo un ejemplo.

Saludos.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Eventos De Controles Generador Por Código 
 
shordi escribió: [Ver mensaje]
Eso es fácil de solucionar, creo. Dame un rato y te subo un ejemplo.

ok. gracias.
 



 
última edición por tincho el Lunes, 11 Abril 2016, 10:00; editado 1 vez 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Eventos De Controles Generador Por Código 
 
Aquí tienes un ejemplo de un formulario que muestra los campos de una tabla y cuyos eventos puedes controlar desde el formulario principal (en este caso sólo muestra una lista de registros y el detalle al hacer click sobre uno de ellos.
Verás que tienes tres sitios desde donde puedes controlar los eventos de los controles (hablamos siempre del evento Action),

- en el propio formulario: en el evento click de los botones del formulario "hijo" (si es que quieres darles un comportamiento estándar)
- en el evento Action_Activate del formulario "hijo"
- en el evento Action_Activate levantado por el "hijo" y observado en el formulario "padre".

El programa incorpora una base de datos sqlite que saqué de no sé dónde y ahí podras comprobar cómo se le asigna a cada control creado la propiedad Action (se establece al nombre del control que, a su vez, se establece al nombre del campo). Unos controles levantan el evento Action_Activate como los botones y los checkboxes y otros no, como los textbox y como te ocurría a tí con el buttonbox.

El truco, como verás esta en extender la clase Detalle con un evento más: Action_Activate, que es levantado (Raise) dentro del evento interno Action_Activate del Formulario. (Puede ser lioso el haber elegido el mismo nombre para el nuevo evento, pero es mucho más claro y nemotécnico su funcionamiento).
En el formulario padre estableces un observador mediante la cláusula AS  y a partir de ahí puede controlar todos los eventos del formulario en el formulario padre.
Este es el aspecto:
 captura_de_pantalla_de_2016_04_11_12_54_56

El código de creación de los controles lo he sacado del programa siesta, simplificándolo un poco y es bastante tosco pero creo que como ejemplo es válido para asumir cómo funciona la técnica.

Espero que te sirva.

Saludos

eventos-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: eventos-0.0.1.tar.gz
Tamaño: 15.88 KB
Descargado: 38 veces
eventos-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: eventos-0.0.1.tar.gz
Tamaño: 15.88 KB
Descargado: 38 veces
eventos-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: eventos-0.0.1.tar.gz
Tamaño: 15.88 KB
Descargado: 38 veces

 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Eventos De Controles Generador Por Código 
 
Gracias Shordi. lo he descargado y me pondré a analizarlo.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Eventos De Controles Generador Por Código 
 
Shordi:
He probado el código que subiste, luego de analizarlo hoy (ayer no pude) creo que entendí como funciona, pero el eldetalle_Action_Activate solo levanta los eventos del click del CheckBox pero si hago click en un TextBox o si le cambio el contenido no hace nada.
¿Es una limitación del método o hay que crear eldetalle_Action_Change? Que por cierto lo he hecho y no funciono.
Lo que me interesa es levantar los eventos (change, click, Dblclik, GotFocus, LostFocus, etc. ) de los controles creados en el interior.
Ademas de poder saber como se llama el control para actuar dependiendo de que nombre tenga el control.

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Eventos De Controles Generador Por Código 
 
tincho escribió: [Ver mensaje]
Shordi:
He probado el código que subiste, luego de analizarlo hoy (ayer no pude) creo que entendí como funciona, pero el eldetalle_Action_Activate solo levanta los eventos del click del CheckBox

Y de los botones, que controlan la acción real del formulario
Citar:
pero si hago click en un TextBox o si le cambio el contenido no hace nada.

Sí hace, le da el foco y almacena en su propiedad text los cambios, es decir hace lo que debe hacer un textBox.
Citar:
Lo que me interesa es levantar los eventos (change, click, Dblclik, GotFocus, LostFocus, etc. ) de los controles creados en el interior.

Esto último es contradictorio, no puedes usar un conjunto de controles creados por código (es decir de los que no sabes ni su nombre ni su tipo etc, pues dependen de una base de datos o de lo que sea) para luego programar comportamientos específicos de los eventos de esos controles. Quiero decir: si en tiempo de diseño sabes lo que quieres que haga un control específico y quieres programarle un comportamiento... créalo en tiempo de diseño. Si no lo sabes, no puedes.
No veo qué te ahorras en la creación de un control por código si luego tienes que ir creando código para cada control.
Citar:
Ademas de poder saber como se llama el control para actuar dependiendo de que nombre tenga el control.
La respuesta es la misma: Si necesitas codificar basándote en el nombre del control, crea el control en tiempo de diseño.

El ejemplo que te dí observa el evento Action_Activate de todos los controles que así lo hagan, es decir: Controla todas las acciones que "hace" un formulario. Los controles button, checkbutton, etc. Puedes incluir en el formulario de detalle comportamientos estándar (grabar, cancelar, añadir) o puedes hacerlo en el fMain, incluyendo (ahora sí) funciones de validación de los campos, etc. pero repito, Si tienes que crear un control que conlleve una programación específica, créalo en tiempo de diseño del formulario

Otro tema es la automatización de procesos repetitivos estándar (crear los controles a partir de un result, rellenar un formulario desde un result, vaciar un formulario de los datos que muestre, dar altas, bajas y modificaciones, etc. etc.) Eso se puede hacer de manera simple con funciones dentro de un módulo y olvidarte de ello, pero siempre estamos hablando de comportamientos estándar.

Saludos
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Eventos De Controles Generador Por Código 
 
shordi escribió: [Ver mensaje]
...Esto último es contradictorio, no puedes usar un conjunto de controles creados por código (es decir de los que no sabes ni su nombre ni su tipo etc, pues dependen de una base de datos o de lo que sea) para luego programar comportamientos específicos de los eventos de esos controles. Quiero decir: si en tiempo de diseño sabes lo que quieres que haga un control específico y quieres programarle un comportamiento... créalo en tiempo de diseño. Si no lo sabes, no puedes.
No veo qué te ahorras en la creación de un control por código si luego tienes que ir creando código para cada control.

Seria contradictorio si las características del control las "decide" solamente la base de datos, como en el caso de siesta, pero yo lo plantee de otra manera, creo el control sabiendo que es lo que va a hacer este y sabiendo además como se va a llamar exactamente, mediante una lógica de análisis que tiene en cuenta un "mapeo" previo de la base de datos, donde por ejemplo defino los títulos de los campos para diversos "escenarios" o informes, entre otras cosas.
Como se exactamente como se llama el control, y de donde provienen los datos en el caso que sean desde un resultado o desde settings o desde un archivo de texto. Esto me permite establecer una lógica relativamente sencilla de que hacer cuando se produce un evento especifico en cada uno de estos controles.
El planteo es que el campo es una "propiedad" del control y no al revés.
Es mas, las bases con las que estoy trabajando son todas de texto, no hay ni date, bolean, integer, float, nada, solo texto. el único integer es el indice de la tabla. Entonces para recuperar y escribir una fecha uso una función a tal efecto, y lo mismo para un float o un integer, pero todo se guarda como texto.

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes ¿Como Puedo Crear Un Array De Controles M... ariel Controles/Librerías/Componentes 7 Lunes, 16 Noviembre 2009, 23:02 Ver último mensaje
soplo
No hay nuevos mensajes Eventos De Los Controles - Gambas3 JuanDiArdilaG General 3 Martes, 21 Julio 2015, 13:03 Ver último mensaje
jguardon
No hay nuevos mensajes Código Fuente De Gambas. Test De Controles Shell General 2 Jueves, 10 Enero 2019, 20:30 Ver último mensaje
Shell
No hay nuevos mensajes Crear Controles Por Código Shell General 1 Lunes, 11 Febrero 2019, 21:14 Ver último mensaje
tincho
 

Publicar nuevo tema  Responder al tema  Página 2 de 2
Ir a la página Anterior  1, 2

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
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
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron