Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Recuperar pixel a Pixel area original de componente visual

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Recuperar pixel a Pixel area original de componente visual Responder citando

Buenas..

He creado un componente visual sobre el cual en cierto momento visualizo un TPanel...mi intencion es que al "cerrar" el Tpanel en el area que ocupaba se repinte pixel a pixel los colores originales del componente ..... (en mi caso refrescar el componente completamente conlleva una serie de operaciones que haria que el refres no fuese fluido y se notara).

Usando el codigo siguiente (gracias ecfisa) para repintar el area:

Código:
 class PACKAGE TMiComponente : public TCustomControl
{
  __published: // IDE-managed Components 
 
    Graphics::TBitmap *AreaPanelInf;
   TControlCanvas    *FCtrlCanvas;
........
void TMiComponente::GuardArea()
{
    ..............
      FArea->Width  = 100;
      FArea->Height = 100t;
      TRect R = Rect(X, Y, FArea->Width, FArea->Height);
      FArea->Canvas->CopyRect(R, Canvas, R);
.................
}

void TMiComponente:RestaurAreaPanel()
{
   ........
   this->Canvas->Draw(X,Y,AreaPanelInf);
   .......
}



Solo guarda el area correspondiente dibujada mediante el procedimiento paint() del componente.. ignorado el area "redibujada" a posteriori desde otro procedimiento (que es mi caso)...
Dado que solo modifica areas afectadas por el evento paint().. no gano nada guardando y recuperando una pequeña area ya que el Procedimiento paint() regenera la imagen de todo el componente si o si..

Para ilustrar mi problema dejo un pequeño programa en...

https://app.box.com/s/6gvqol66wahyhuk1negu

Hay alguna manera de regenerar el area dibujada desde otro procedimiento diferente al Paint()

Espero haberme explicado bien... Gracias.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Buenas... Quiero pedir disculpas por haber cometido el error de no haber incluido en el archivo de descarga el componente Prueba.h (fundamental).. Enmiendo mi error y lo agrego al archivo...

https://app.box.com/s/6gvqol66wahyhuk1negu


Gracias...
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.