Compartir a través de


Portapapeles: Agregar otros formatos

Este tema explica cómo expandir la lista de formatos admitidos, especialmente para compatibilidad OLE. El tema Portapapeles: Copiando y pegando datos describe la implementación mínima necesaria para admitir copiar y pegar desde el portapapeles. Si es todo implementa, los únicos formatos incluidos en el portapapeles es CF_METAFILEPICT, CF_EMBEDSOURCE, CF_OBJECTDESCRIPTORy, posiblemente CF_LINKSOURCE. La mayoría de las aplicaciones necesitarán más formatos en el portapapeles que estos tres.

Registrar formatos personalizados de

Para crear dispone de formatos de custom, siga el mismo procedimiento que utilizaría el registro cualquier formato de Portapapeles personalizado: pase el nombre de formato a la función de RegisterClipboardFormat y utilice el valor devuelto como el identificador de formato

Colocar formatos en el portapapeles

Para agregar más formatos similares a colocar en el portapapeles, debe reemplazar la función de OnGetClipboardData en la clase que se derivó de COleClientItem o de COleServerItem (dependiendo de si los datos se copiará es nativo). En esta función, debe utilizar el procedimiento siguiente.

Para colocar formatos en el portapapeles

  1. Crear un objeto COleDataSource.

  2. Pase este origen de datos a una función que agregue los formatos de datos nativos a la lista de formatos admitidos llamando a COleDataSource::CacheGlobalData.

  3. Agregue los formatos estándar llamando a COleDataSource::CacheGlobalData para cada formato estándar que desee.

Esta técnica se utiliza en el programa de ejemplo OLE HIERSVR de MFC (examine la función miembro de OnGetClipboardData de la clase de CServerItem ). La única diferencia en este ejemplo es que el paso tres no se implementa porque HIERSVR no admite ningún otro formato estándar.

¿Sobre qué desea obtener más información?

Vea también

Referencia

Portapapeles: Usar el mecanismo del Portapapeles de OLE