Um metarquivo do Windows contém uma seqüência de graphics device interface (GDI) comandos que você pode replay para criar um texto ou imagem desejada.
Para implementar um metarquivo do Windows, primeiro crie um objeto CMetaFileDC . Chamar o Construtor de CMetaFileDC e, em seguida, chame a criar função de membro, que cria um contexto de dispositivo de Metaficheiro do Windows e a anexa ao objeto CMetaFileDC.
Em seguida envie o objeto CMetaFileDC a seqüência de comandos GDI CDC que você pretende para ele repetir. Somente os comandos GDI que criar saída, como MoveTo e LineTo, podem ser usados.
Após ter enviado os comandos desejados para o metarquivo, chame a função de membro de Fechar , que fecha os contextos de dispositivo do metarquivo e retorna um identificador de metarquivo. Em seguida, dispose o objeto CMetaFileDC.
CDC:: PlayMetaFile , em seguida, pode usar o identificador de metarquivo para executar o metarquivo repetidamente. O metarquivo também pode ser manipulado por funções de Windows tais como CopyMetaFile, que copia um metarquivo em disco.
Quando o metarquivo não é mais necessário, excluí-lo da memória com o DeleteMetaFile função do Windows.
Você também pode implementar o objeto CMetaFileDC para que ele pode manipular ambas chamadas de saída e atributo GDI chama, como GetTextExtent. Tal um metarquivo é mais flexível e podem mais facilmente reutilizar geral código GDI, que geralmente consiste em uma combinação de chamadas de saída e atributo. A classe CMetaFileDC herda dois contextos de dispositivo, m_hDC e m_hAttribDC, CDC. O contexto para dispositivo m_hDC manipula todas as chamadas de saída GDI CDC e o contexto de dispositivo m_hAttribDC manipula todas as chamadas de atributo GDI CDC . Normalmente, esses contextos de dois dispositivo consulte o mesmo dispositivo. No caso de CMetaFileDC, o atributo DC é definido como NULL por padrão.
Crie um contexto para dispositivo segundo que aponta para a tela, uma impressora ou dispositivo other than um metarquivo, em seguida, chamar a função de membro SetAttribDC para associar o novo contexto de dispositivo m_hAttribDC. Chamadas GDI para informações agora serão direcionadas para o novo m_hAttribDC. Saída GDI chamadas irá para m_hDC, que representa o metarquivo.
Para obter mais informações sobre CMetaFileDC, consulte de Contextos de dispositivo no Guia do programador do Visual C++.
# include lt;afxext.h>