FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Saber cuando un Form hace un Paint
Es posible capturar el paint de un form (OnPaint) desde un com ponente, ya que el WM_Paint no lo hace?
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#2
|
||||
|
||||
Pues claro que es posible, ¿que no es posible en nuestro amado Delphi?
Puedes capturar el evento OnPaint del Form desde tu componente:
|
#3
|
||||
|
||||
PAldave, gracias por tu respuesta pero me da un error de incompatible tipos Tcontrol con mi Tcomponent.
De todas maneras, me gustaria saber si vale para el resto de los eventos.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#4
|
||||
|
||||
Vale para todos los eventos.
El error se debe a que tu componente no es visual, es decir, deriva de TComponent y no de TControl, por lo cual no tiene un Form "padre". La forma de solucionarlo podría ser la siguiente: debido a que los componentes no visuales tienen como propietario el formulario en el cual están. Espero que con esto soluciones el problema.[/font][FONT=verdana,geneva,lucida,'lucida grande',arial,helvetica,sans-serif] Saludos. Última edición por paldave fecha: 16-09-2007 a las 00:37:25. |
#5
|
||||
|
||||
¡Hola!
Cita:
Win32.hlp, ese valioso archivo que todos los programadores Delphi tenemos dice sobre el mensaje wm_Paint: Cita:
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á. |
#6
|
||||
|
||||
Gracias a ambos, he de decir, que efectivamentem ene ste caso es sólo un componente visual, pero que dependiendo, del resultado que me de derivara, en posteriores componentes, visuales, y no visuales, que ire poniendo en el club, tengo en mente un buen puñado, pero soy muy lento programandolos, por que me pierdo en la OPP, tengo multitud de libros sobre delphi hasta el 6, incluyendo La Cara Oculta de DElphi 4, y no termino de allar las respuestas.
Con Delphi, mi gran problema, es el Ingles, me peleo a ratos, con el de mis 6 Delphi (2,3,4,5,6,Turbo), sólo tengo el manual en españos del 4, Son comprados Orginales, todos, exeptuando el Turbo que es free en su página, yo hasta hace unos seis años, sólo me interesaba, programar para bases de datos, hara unos 4 tube una serie de problemas en la empresa, que aún acarreo, pero en un principio, no me quedaba casi tiempo libre, ahora aunque vivo mucho mas lejos, tengo más tiempo. Pero soy persistente, suelo trabajar con muchas cosas a la vez, llevo trabajando 24 años (desde los 16) y he aprendido muchas profesiones, y en todas ellas la tenacidad, es una cuestion que no puede fallar, me he propuesto terminar el componente, y lo hare. Gracias por vuestra ayuda y probare los cambios expuestos.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#7
|
||||
|
||||
No me vale el evcento Ompaint, ya que se repite multitud de veces, en un segundo.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#8
|
||||
|
||||
Hola
No me hagais mucho caso en esto, de componentes no se nada, pero leyendo un poco encontre esto: Cita:
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
__________________
Siempre Novato |
#9
|
||||
|
||||
¡Hola a todos y bienvenido de regreso Carlos!
Cita:
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. |
|
|
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 |
|