Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-03-2008
Avatar de Lord Delfos
Lord Delfos Lord Delfos is offline
Miembro
 
Registrado: ene 2008
Ubicación: Tandil, Argentina
Posts: 558
Poder: 17
Lord Delfos Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 04-03-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Prueba con la propiedad "ClipRect" del Canvas, durante el evento OnPaint contiene las coordenadas del rectángulo que hay que redibujar
Responder Con Cita
  #3  
Antiguo 04-03-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
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:
Empezado por rcPaint
Specifies a RECT structure that specifies the upper left and lower right corners of the rectangle in which the painting is requested.
La forma correcta de utilizar dicho mensaje es mediante la API InvalidateRect

Saludos
Responder Con Cita
  #4  
Antiguo 05-03-2008
Avatar de Lord Delfos
Lord Delfos Lord Delfos is offline
Miembro
 
Registrado: ene 2008
Ubicación: Tandil, Argentina
Posts: 558
Poder: 17
Lord Delfos Va por buen camino
Gracias, muchachos.

Una vez más estoy encaminado...

Un abrazo.
Responder Con Cita
Respuesta



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
se puede sobreescribir un metodo en php? como? gabrielflowers PHP 1 30-01-2008 17:17:50
Paint mejorado??? darkphantom Gráficos 4 29-01-2008 22:10:48
Saber cuando un Form hace un Paint José Luis Garcí OOP 13 17-09-2007 21:54:59
Saber coordenadas en pantalla de un HDC Decker Gráficos 0 23-07-2006 23:40:21
pasar coordenadas gps a coordenadas builder iaav1 C++ Builder 3 03-07-2006 19:59:02


La franja horaria es GMT +2. Ahora son las 21:18:37.


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