Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-05-2004
Sonic Sonic is offline
Miembro
 
Registrado: may 2004
Posts: 40
Poder: 0
Sonic Va por buen camino
Unhappy Usar eventos en un VCL

Tengo diseñado una primera versión funcional de un TRichEdit que reconoce la sintaxis de lo que se esta escribiendo y resalta mediante el formato del texto escrito diversas secciones del texto. Se me ocurrió que con este código podría crear un componente VCL para poder usarlo en otros proyectos. Pero no he conseguido realizar una buena gestión de los eventos. Me explico:
En mi componente uso eventos como OnSelectionChange y OnChange, pero el en VCl no sé muy bien como hacer uso de esto. Ya que si suplanto el manejador del evento, el usuario final de mi componente no podrá usarlo.

La solución que encontré fue suplantar el proceso WndProc y esperar a recibir un mensaje concreto (que sinceramente no se cuál es 45109) pero, a partir del cual puedo compobar si el usuario final ha colocado un manejador de evento, si es así tomo la dirección de este manejador y lo suplanto por una función propia que ejecuta el código que yo necesito y posteriormente usa el puntero para llamar a la función del usuario.

Me pareció una buena solución, de hecho es justo lo que necesito, pero lo que no sabía es que el componente VCL se ejecuta cuando estás en fase de diseño de la aplicación, borrando la casilla del inspector de objetos en la se pone el nombre de la función que el usuario quiere que responda. En principio se comporta bien pero si guardas el proyecto ya se guarda con esa casilla borrada y mi componente piensa que el usuario no ha asignado ninguna funcion y por tanto solo ejecuta la interna.

Por favor, cualquier idea al respecto me resultará útil. Gracias
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 02:58:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi