Partilhar via


Área de transferência: Adicionando outros formatos

Este tópico explica como expandir a lista de formatos suportados, particularmente para suporte OLE. O tópico Área de transferência: copiando e colando dados descreve a implementação mínima necessária para suportar a cópia e colagem de dados da área de transferência. Se isso for tudo o que você implementar, os únicos formatos colocados na Área de Transferência são CF_METAFILEPICT, CF_EMBEDSOURCE, CF_OBJECTDESCRIPTOR e, possivelmente, CF_LINKSOURCE. A maioria dos aplicativos precisará de mais formatos na Área de Transferência do que esses três.

Registrando formatos personalizados

Para criar os seus próprios formatos personalizados, siga o mesmo procedimento que usaria ao registar qualquer formato personalizado da Área de Transferência: passe o nome do formato para a função RegisterClipboardFormat e utilize o seu valor de retorno como a identificação do formato.

Colocando formatos na área de transferência

Para adicionar mais formatos aos colocados na Área de Transferência, deverá substituir a função OnGetClipboardData na classe que derivou de COleClientItem ou COleServerItem (dependendo se os dados a serem copiados são nativos). Nesta função, você deve usar o procedimento a seguir.

Para colocar formatos na Área de Transferência

  1. Crie um COleDataSource objeto.

  2. Passe essa fonte de dados para uma função que adiciona seus formatos de dados nativos à lista de formatos suportados chamando COleDataSource::CacheGlobalData.

  3. Adicione formatos padrão chamando COleDataSource::CacheGlobalData para cada formato padrão que você deseja suportar.

Esta técnica é usada no programa de exemplo OLE MFC HIERSVR (examine a OnGetClipboardData função de membro da classe CServerItem ). A única diferença neste exemplo é que a etapa três não é implementada porque o HIERSVR não suporta outros formatos padrão.

O que você quer saber mais sobre

Ver também

Área de transferência: Usando o mecanismo da área de transferência OLE