Ver Mensaje Individual
  #9  
Antiguo 16-09-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

¡Hola a todos y bienvenido de regreso Carlos!

Cita:
Empezado por Caral Ver Mensaje
...segun entiendo el TComponent es para componentes NO visuales, en este caso seria lo correcto.
Pero dice que TCustomControl es para el manejo del metodo Paint.
Me quede con la duda y por eso lo puse, nada mas para aprender.
Saludos
Es precisamente el punto de mi comentario anterior. El componente, estrictamente hablando no tiene que ser visual, porque su propósito es darle cierto aspecto visual a otros componentes mas no a sí mismo. El quid es atrapar algún mensaje o evento relacionado con el dibujo de los controles de la forma. Como la forma misma recibe un mensaje wm_Paint de parte de Windows, se pensó que sería buena idea tratar de interceptar este mensaje, pero entonces la pregunta fue ¿cómo? Como tú señalas, sería buena idea derivar la clase del nuevo componente de TCustomControl (no directamente de TWinControl, como sugería en mi mensaje anterior), pero no sería lo correcto, a menos que el nuevo componente sea visual en el sentido de que posea su propia área de dibujo.

Desde ayer he venido pensando que el nuevo componente podría contener dentro de sí mismo un objeto TApplicationEvents con el cual, a través de su evento OnMessage, se intercepten todos los mensajes wm_Paint que le lleguen a la aplicación y proceda en consecuencia a realizar su cometido cuando dicho mensaje vaya dirigido a la forma o a alguno de sus controles. Pero de momento no estoy seguro de si todos los mensaje wm_Paint llegan al evento OnMessage de la aplicación (TApplicationEvents.OnMessage, en este caso). Sería cosa de investigar un poco más.

De todas maneras, creo que no se pierde mucho con intentarlo.

Un wm_abrazo.

Al González.
Responder Con Cita