Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #5  
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.610
Poder: 32
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!

Cita:
Empezado por José Luis Garcí Ver Mensaje
Es posible capturar el paint de un form (OnPaint) desde un com ponente, ya que el WM_Paint no lo hace?
Hoy mientras me duchaba, por alguna divagación del pensamiento vino a mi mente el componente que estás creando (http://www.clubdelphi.com/foros/showthread.php?t=47994), el cual, supongo, es la razón de este nuevo hilo.

Win32.hlp, ese valioso archivo que todos los programadores Delphi tenemos dice sobre el mensaje wm_Paint:
Cita:
Empezado por la ayuda de la API de Windows
An application sends the WM_PAINT message when Windows or another application makes a request to paint a portion of an application's window. The message is sent when the UpdateWindow or RedrawWindow function is called, or by the DispatchMessage function when the application obtains a WM_PAINT message by using the GetMessage or PeekMessage function.
El mensaje sólo es enviado a los objetos visibles (genéricamente llamados "windows" en la API). Sean botones, cuadros de texto o formas, todos los objetos que en Delphi derivan de la clase TWinControl son susceptibles a recibir el mensaje wm_Paint. Tu componente no recibe el mensaje porque no es un control (componente visual), necesitaría ser derivado de TWinControl para que reciba dicho mensaje de manera natural.

Visto esto, la pregunta ético-técnica sería: ¿mi componente tiene que ser visual para darle cierto efecto visual a otros componentes? Estrictamente, la respuesta es no. Si quieres hacerlo fácil, adelante, deriva TCCDShadow de TWinControl y sí recibirá el mensaje, pero, a reserva de lo mucho que ignoro sobre los mensajes de Windows, me parece que no sería suficiente y quizá en algunos casos no funcione tal como se espera el método ShadowDraw.

La idea de lo que buscas es interesante (aunque todavía no logro imaginarme qué habrá de hacer exactamente el componente). Todo lo que entiendo es que le imprime cierto efecto visual a los controles que contenga la forma. Necesitaría analizarlo con un poco más de tiempo y calma para proponer alguna alternativa. Por el momento, sólo puedo invitar a otros a no dejar solo a José Luis. ¡Ánimo!

Un TAbrazo.

Al González.

P.D. Es en estos momentos cuando se echa de menos la gran disponibilidad de Román para ayudar a resolver casos de POO. Un saludo Román, esperamos verte pronto por acá.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Propiedad o variable de un form se hace=0 fedelphi OOP 5 14-09-2007 16:12:46
cuando llamo ejecutar un hilo dentro del proceso del hilo no lo hace robertosc Varios 1 14-08-2007 22:11:09
Saber cuando ingresan a tu PC genius Varios 4 11-12-2006 14:47:52
Saber cuando termina una consulta zurech MySQL 2 16-09-2005 17:51:06
Cuando se llama un SP dentro de otro SP autom. se hace rollback por error cuxoapat Firebird e Interbase 1 06-04-2005 22:15:50


La franja horaria es GMT +2. Ahora son las 09:31:10.


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