クリップボード : その他のデータ形式の追加
このトピックでは、 OLE サポートをサポートするフォームの一覧を、特に配置する方法について説明します。トピック クリップボード: データのコピーと貼り付け はクリップボードからコピーして貼り付けるをサポートするために必要な最小限の実装について説明します。これがすべての場合、クリップボードに配置される唯一の形式です CF_METAFILEPICT、 CF_EMBEDSOURCE、 CF_OBJECTDESCRIPTORおよび場合 CF_LINKSOURCE実行します。ほとんどのアプリケーションでは、この 3 よりクリップボードのフォームを必要とします。
カスタム書式の登録
カスタム書式を独自に作成するには、カスタム クリップボード形式を登録するときに使用するのと同じ手順に従ってください: フォームの名前を RegisterClipboardFormat の関数に渡し、フォームの ID として戻り値を使用します。
クリップボードにフォームを設定できます。
データがネイティブであるコピーするかどうかに応じて、クリップボードに配置されるようにフォームを追加するには、 COleClientItem か COleServerItem の派生クラスの OnGetClipboardData 関数をオーバーライドします (。この関数では、次の手順を実行する必要があります。
フォームをクリップボードに配置するには
COleDataSource オブジェクトを作成します。
サポートされている形式の一覧に COleDataSource::CacheGlobalDataを呼び出すことによってネイティブ データ形式を追加する関数にこのデータ ソースを渡します。
、サポートする各標準書式の COleDataSource::CacheGlobalData を呼び出して、標準書式を追加します。
この手法は、 MFC OLE のサンプル プログラム HIERSVR で使用されます ( CServerItem のクラスの OnGetClipboardData のメンバー関数をチェックします)。このサンプルの違いは HIERSVR が他の標準書式をサポートしていないため、ステップ 3 が実行されていないことが考えられます。