FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Problemas con checkado en checkbox de otra aplicacion
hola amigos, estoy viendo como puedo hacer para, desde mi proceso, marcar un checkbox de otro proceso.
Lo primero que hago es usar FindWindow para obtener el hwnd de la ventana.
Luego uso EnumChildWindow para recorrer todos los elementos de la ventana.
En el callback busco que la clase sea TCheckBox y si es asi retorno en LParam el hwnd del TCheckBox.
Luego uso la siguiente macro para activar/desactivar el checkbox:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Todo funciona correctamente ¿Donde está el problema? El problema es que, aunque aparezca checkado, si pongo una comprobacion en la "victima" tipo if(CheckBox1->Checked == true)... La comprobacion da como resultado que no está checkado y al pulsar sobre el se vuelve a marcar como si no lo estuviese antes.
¿Alguna idea de como arreglarlo?
|
#2
|
||||
|
||||
En teoría no vas mal encaminado, debería funcionar, si no lo hace se debe a la gestión de la VCL. Puedes ir un paso más allá y simular un click del ratón
Saludos. |
#3
|
||||
|
||||
Como las dos aplicaciones son mias ¿que tal si cambio el wndproc del checkbox por uno mio y dentro gestiono el evento BM_SETCHECK?
|
#4
|
||||
|
||||
En ese caso usa un mensaje de usuario y lo gestionas como quieras.
Saludos. |
#5
|
||||
|
||||
escafandra no se ni que es eso de un mensaje de usuario pero supongo será un mensaje inventado por mi ¿no?
Ya lo he conseguido así pero mandando el mensaje original. ¿es mejor usar uno propio para no pisar la funcion original o algo asi? Te pongo el link con los fuentes de los dos procesos que son clones pero solo cambia que uno busca a Proceso A y el otro a Proceso B, y en todas las partes que uno hace referencia a Proceso B, el otro hace referencia a Proceso A. Link: Aqui Me gustaria que le echaras un vistazo y me comentaras que cambiarias. Es el proyecto que uso en el tema de procesos que charlan entre si pero para hacerlos sincronicos o asincronicos uso un checkbox que al marcarlo en un proceso tambien se marca en el otro y, dependiendo del estado de ese checkbox, se desactiva el boton de enviar mensaje al enviar y se activa al recibir para hacerlo sincronico o nunca se desactiva para hacerlo asincronico. Última edición por aguml fecha: 30-09-2014 a las 20:52:54. |
#7
|
||||
|
||||
Hola aguml.
Creo que lo complicas usando WndProc para capturar el mensaje, es mas simple: Emisor: codigo Código PHP:
header Código PHP:
Código PHP:
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 01-10-2014 a las 02:13:09. |
#8
|
||||
|
||||
Ok, cambiado.
Con respecto a lo que hago para gestionar lo del CheckBox ¿como lo ves? ¿como lo mejorarías? Es que acabo de aprender lo de cambiar el WndProc y lo aplico a todo jejeje |
#9
|
||||
|
||||
Hola aguml.
No estoy diciendo que esté mal usar WndProc, lo que sucede es que Builder ya tiene definido ese mensaje y te evitas la comprobación de si el mensaje fué otro. A ver si este ejemplo te dá otra idea... En el form emisor pone un TButton y un TCheckBox y en el receptor tres TCheckBox (CheckBox1, CheckBox2 y CheckBox3) . Emisor: Código PHP:
header Código PHP:
Código PHP:
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#10
|
||||
|
||||
Guauuu pues si que es potente este método.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Se Pierde la Selección del CheckBox al Cerrar la Aplicación | Luis.Lapuente | Varios | 3 | 11-09-2014 22:42:24 |
Cómo hago una aplicación que oculte otra aplicación en ejecución? | DSK25 | C++ Builder | 3 | 11-01-2014 18:24:53 |
Cómo cerrar otra aplicacion desde mi aplicacion en Delphi 7 | Gaby123 | API de Windows | 5 | 04-01-2007 22:44:51 |
problemas al integrar una aplicación dentro de otra | aranel | Varios | 1 | 23-10-2005 01:40:00 |
Problemas guardar cambios en dbgrid con checkbox | toorbye | Conexión con bases de datos | 0 | 22-09-2005 14:09:13 |
|