Buenas..
Retomo el tema adjuntando una pequeña aplicacion que intenta explicar graficamente mi problema...
https://app.box.com/s/6gvqol66wahyhuk1negu
He llegado a la conclusion de que uasando el codigo siguiente (gracias ecfisa):
Código:
FArea->Width = Left + Width;
FArea->Height = Top + Height;
TRect R = Rect(0, 0, FArea->Width, FArea->Height);
FArea->Canvas->CopyRect(R, Canvas, R);
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..
Hay alguna manera de regenerar el area dibujada desde otro procedimiento diferente al Paint()
Espero haberme explicado bien... Gracias.