Boa tarde pessoal
Estou com a seguinte situação:
- Possuo um TPanel, com vários outros TPanel com várias informações, e preciso salvar tudo isto em uma única imagem (TBitmap);
Estou dando uma garimpada no oraculo (google) porem os exemplos não estão dando muito certo, pois ele salva apenas o Panel inicial, que está vazio, pois as informações estão espalhadas em outros TPanel (criados dentro do principal).
Alguem já fez algo parecido que possa me dar uma dica, exemplo, luz, fumaça, alguma coisa?
Obrigado.
--
--
Você recebeu esta mensagem porque está inscrito no "DUG-RS -
Delphi Users Group Rio Grande do Sul" em Grupos do Google.
Acesse o nosso BLOG em http://www.dug-rs.org e contribua com a comunidade Delphi do Rio Grande do Sul
Para postar neste grupo, envie um e-mail para dug...@googlegroups.com
Para cancelar a sua inscrição neste grupo, envie um e-mail para
dug-rs-un...@googlegroups.com
Para ver mais opções, visite este grupo em
http://groups.google.com.br/group/dug-rs?hl=pt-BR
Twitter: @dugrs
http://www.facebook.com/groups/dugrs/
http://www.Vimeo.com/dugrs
---
You received this message because you are subscribed to the Google Groups "DUG-RS - Delphi Users Group Rio Grande do Sul" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dug-rs+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Samuel,
Obrigado pelo exemplo mas não me ajudou, pois ele captura a tela toda do Windows, pra fazer os cálculos é bem complexo, pois o TPanel está dentro de vários componentes da janela ativa, e para ajudar, eu utilizo 2 monitores, então a posição é muito relativa.
Abraço
Samuel
Fiz da seguinte forma
ini_x := Screen.ActiveForm.Left + Application.MainForm.ActiveMDIChild.Left + PageControl.Left + Panel.Left;
ini_y := Screen.ActiveForm.Top + Application.MainForm.ActiveMDIChild.Top + PageControl.Top + Panel.Top;
fim_x := Panel.Width;
fim_y := Panel.Height;
Se a aplicação está no monitor principal, salva a imagem antes do Panel ainda.
Se a aplicação está no monitor secundário, salva a imagem da mesma posição referente ao 1 monitor, não considerando a aplicação.
(Tema de vitória do Senna)
Samuel
Fiz outro ajuste e teste, e obtive sucesso.
Utilizo o mesmo código que você me passou, alterei apenas isto:
De:
DC:= CreateDC('DISPLAY', nil, nil, nil);
Para:
DC:= GetDC(Panel.Handle);
E as posições são:
ini_x := 0;
ini_y := 0;
fim_x := Panel.Width;
fim_y := Panel.Height;
Infelizmente este código pra minha situação não funciona.
Já havia testado essa opção, porém sem setar o tamanho da imagem e fazendo o lock.
Com essas propriedades funciona em partes, mas não me exibe os detalhes dos demais paneis.
Eu possuo vários gráficos na tela (Chart), com essa função, aparece apenas algumas linhas dos gráficos, mas eles não aparecem por completo.
Mas com o seu outro exemplo funcionou.
Muito obrigado pela ajuda e disponibilidade.
Abraço
De: dug...@googlegroups.com [mailto:dug...@googlegroups.com] Em nome de Samuel N. Junior
Enviada em: sexta-feira, 14 de março de 2014 16:57
Para: dug...@googlegroups.com
Assunto: Re: [dug-rs] TPanel > TBitmap
Rodrigo,
--