Compartilhar via


Área de transferência: Adicionando outros formatos

Este tópico explica como expandir a lista de formatos com suporte, especialmente para suporte OLE.O tópico área de transferência: copiar e colar dados descreve a implementação do mínima necessária para oferecer suporte a copiar e colar da área de transferência.Se isso é tudo o que você implementar, são os únicos formatos colocados na área de transferência CF_METAFILEPICT, CF_EMBEDSOURCE, CF_OBJECTDESCRIPTORe possivelmente CF_LINKSOURCE.A maioria dos aplicativos será necessário mais formatos na área de transferência que esses três.

Registrar personalizar formatos

Para criar seus próprios formatos personalizados, siga o mesmo procedimento você usaria ao registrar qualquer formato de área de transferência personalizado: passar o nome de formato para o RegisterClipboardFormat de função e usar seu valor de retorno como a identificação do formato.

Colocar formatos na área de transferência

Para adicionar mais formatos para aqueles colocados na área de transferência, você deve substituir o OnGetClipboardData na classe derivada de uma função de COleClientItem ou COleServerItem (dependendo se os dados a serem copiados são nativos).Nessa função, você deve usar o procedimento a seguir.

Para colocar formatos na área de transferência

  1. Crie um objeto COleDataSource.

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

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

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

838a3whf.collapse_all(pt-br,VS.110).gifO que você deseja saber mais sobre?

Consulte também

Referência

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