Ver Mensaje Individual
  #4  
Antiguo 17-02-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por NEG1414 Ver Mensaje
(el segundo metodo al incluir un TImage en la operacion me complica el tema considerablemente..)
Hola NEG1414.

Creo que el ejemplo no fué suficientemente claro , no es necesario incluir un TImage para capturar el área del formulario.

Tal vez de este modo resulte mas claro:
Código:
__fastcall TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
{
  FBM = new Graphics::TBitmap;
}

// Guardar área
void __fastcall TForm1::GetWndArea(int x1, int y1, int x2, int y2)
{
  FBM->Width = x2-x1;
  FBM->Height= y2-y1;
  TRect R = Rect(0,0,FBM->Width,FBM->Height);
  FBM->Canvas->CopyRect(R, Canvas, R);
}

// Poner algo en el form, esperarar 1 seg y borrar el área
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  char *t1="TEXTO 1",*t2="TEXTO 2";
 
  Canvas->Ellipse(0, 0, 300, 100);
  Canvas->TextOut(120, 30, t1);
  Canvas->TextOut(120, 30 + Canvas->TextHeight(t1),t2);
  Canvas->Brush->Style = bsClear;
  GetWndArea(0,0,305,105);
  Sleep(1000);
  Canvas->Brush->Color = Color;
  Canvas->Brush->Style = bsSolid;
  Canvas->FillRect(Rect(0,0,FBM->Width,FBM->Height));
}

// restaurar el área borrada
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 Canvas->Draw(0, 0, FBM);   
}
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita