Partilhar via


Área de Transferência: adicionando outros formatos

Este tópico explica como expanda a lista de formatos com suporte, particularmente para suporte OLE. O tópico Área de transferência: Copiando e colando dados descreve a implementação mínima necessária para dar suporte ao copiar e colar da área de transferência. Se esse é tudo você implementa, os únicos formatos colocados na área de transferência é CF_METAFILEPICT, CF_EMBEDSOURCE, CF_OBJECTDESCRIPTORe, possivelmente CF_LINKSOURCE. A maioria dos aplicativos precisarão mais formatos na área de transferência desses três.

Registrando formatos personalizados

Para criar seus próprios formatos personalizados, siga o mesmo procedimento que você usaria quando registrando qualquer formato personalizado da área de transferência: passe o nome do formato à função de RegisterClipboardFormat e use o valor de retorno como a ID de formato

Colocando formatos na área de transferência

Para adicionar mais formatos para aqueles colocados na área de transferência, você deverá substituir a função de OnGetClipboardData da classe que podem ser derivadas de COleClientItem ou de COleServerItem (dependendo se os dados a serem copiados são nativos). Nessa função, use o procedimento a seguir.

Para colocar formatos na área de transferência

  1. Crie um objeto COleDataSource.

  2. Transmitir essa fonte de dados a uma função que adiciona seus formatos de dados nativos à lista de formatos com suporte COleDataSource::CacheGlobalDatachamando.

  3. Adicionar formatos padrão chamando COleDataSource::CacheGlobalData para cada formato padrão que você deseja dar suporte.

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

Que você deseja saber mais?

Consulte também

Referência

Área de Transferência: usando o mecanismo Área de Transferência OLE