Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2625 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado (editado)

Bom dia , queria saber se alguém poderia me ajudar , estou tentando desenvolver uma funcao para capturar a tela atual . informando as coordenadas (Left, Top, Width, Height) pois ai , dando certo , conseguiria informar apenas uma parte do formulário .

estou usando essa função ..

function AreaCapture(Left1, Top1, Width1, Height1 : integer) : TBitmap;
var
  ScreenDC : HDC;
begin
  Result := TBitmap.Create;
  ScreenDC := GetDC(0);
  try
    try
      Result.Width := Width1;
      Result.Height := Height1;
      BitBlt(Result.Canvas.Handle, 0, 0, Result.Width, Result.Height, ScreenDC, Left1, Top1, SRCCOPY);
    finally
      ReleaseDC(0, ScreenDC);
    end;
  except
    Result.Free;
    Result := nil;
  end;
end;

 

a função esta OK, o problema, esta quando vou buscar as coordenadas do formulário filho, aberto pelo TDI, pois quando vou buscar FORM2.Left e FORM2.Top, ele sempre traz como 0, 0 .. ate entendo que deveria pegar então o TOP e LEFT do formulário principal que o chamou, mais mesmo assim . não tá dando certo . não sei onde estou errando .. se alguém tiver uma ideia e puder me dar uma luz , me ajudaria muito ...

Exemplo da chamada da funcao :

RlImage1.picture.Bitmap.Assign(AreaCapture(dm.MENU_Left+veig05.Left+5,  dm.MENU_Top + veig05.Top+Bevel1.Top+5,  1024, 530));

Editado por adilsonpazzini
Postado

Deu certo Daniel .. putz valeu meu velho ... muito obrigado ...

 

var
 lPoint:TPoint;
begin
   lPoint := veig05.ClientToScreen(Point(0,0));
   RlImage1.picture.Bitmap.Assign(AreaCapture(lPoint.X+5, lPoint.Y+Bevel1.Top+5, 1024, 530));  

 

  • Curtir 1
  • Este tópico foi criado há 2625 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.