![]() |
Sobreescribir método Paint y saber coordenadas a refrescar
Bueno, no sé si es el foro correcto, pero...
¿Cómo están? Tengo una dudilla bastante espinosa. Estoy haciendo un componente. Como tiene que dibujar cosas propias en su superficie estoy sobreescribiendo el método Paint. El problema es que no sé qué parte de todo el control (que puede ser muy extenso) se tendría que dibujar. Es decir, si mi control mide 500 píxeles de largo y tengo que refrescar los primeros 10, no tengo manera de saberlo y tengo que dibujar todo el control en sus 500 píxeles. Estoy casi seguro que alguna vez había leído algo al respecto, pero no puedo encontrar nada. Si alguien sabe, agradecería alguna punta. Saludos. |
Prueba con la propiedad "ClipRect" del Canvas, durante el evento OnPaint contiene las coordenadas del rectángulo que hay que redibujar
|
No estoy muy seguro de que clase deberías heredar (la mas adecuada), sin ambargo necesitas analizar el mensaje WM_PAINT, una vez capturado dicho mensaje necesitas utilizar la API BeginPaint, la cual te va a retornar una estructura que contiene una variable llamada rcPaint la cual especifíca las coordenadas a ser pintadas.
Cita:
Saludos |
Gracias, muchachos.
Una vez más estoy encaminado... Un abrazo. |
| La franja horaria es GMT +2. Ahora son las 10:34:53. |
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