Onde posso encontrar a documentação e / ou exemplos de trabalho com TMetafile e TMetafileCanvas?
Pergunta
Como eu estou trabalhando para adicionar a impressão ao meu aplicativo personalizado, eu tenha resolvido em utilizando TMetafile para criar as páginas, em seguida, usá-lo para visualização e / ou impressão, mas eu estou achando a documentação em falta.
Existem bons recursos para aprender os prós e contras de trabalhar com TMetafile e TMetafileCanvas?
Solução
Os prós e contras de trabalhar com TMetafile / lona são mais relacionados a arquivos meta do que para as implementações TMetafile e TMetafileCanvas da minha experiência traumática de trabalhar com ele. Aka, você deve sim olhar para informações sobre como EMF (ou WMF) funciona. A implementação Delphi simplesmente chama janelas para fazer tudo como eu o entendo.
Você pode querer ser mais específico o que é que você precisa saber que para além de uma caminhada pelo guia sobre como fazê-lo.
Outras dicas
Na verdade, é mais simples do que você pensa ...
aqui está um pouco do meu código:
var
m: TMetafile;
mc: TMetafileCanvas;
begin
m := TMetafile.Create;
m.Width := 1000;
m.Height := 1000;
mc := TMetafileCanvas.Create(m, 0);
//use mc just like any canvas...
mc.Free;
// you can use m for anything you want, preview, print, save ...etc.
end;
Para copiar o metaficheiro para a área de transferência:
Clipboard.Assign(m);
para salvar a um arquivo EMF:
m.SaveToFile(filename);
Eu usei isso para imprimir um metarquivo em um FastReport.
Eu não olhei para ele muito me, mas eu sei que as usa código QuickReports metafiles sob o capô para criar a visualização de impressão e para enviar para a impressora. Se você tem a fonte para isso, ele pode ser útil.