クリップボード : その他のデータ形式の追加

更新 : 2007 年 11 月

サポートするデータ形式を追加する方法、特に OLE のサポートについて説明します。「クリップボード : データのコピーと貼り付け」では、クリップボードによるコピーと貼り付けをサポートするのに必要な、最低限の実装について説明しています。最低限必要な実装では、クリップボード用のデータ形式は、CF_METAFILEPICTCF_EMBEDSOURCE、および CF_OBJECTDESCRIPTOR の 3 形式がサポートされます。場合によっては CF_LINKSOURCE もサポートされます。ほとんどのアプリケーションでは、この 3 形式以外にもクリップボード形式が必要になります。

独自の形式の登録

独自のデータ形式を作成する手順は、独自のクリップボード形式を登録するときと同じです。形式の名前を RegisterClipboardFormat 関数に渡し、その戻り値を形式の ID として使用します。

クリップボードに格納できる形式の追加

新しい形式をクリップボードに追加するには、COleClientItem クラスまたは COleServerItem クラス (データがネイティブな場合) のいずれかより派生させるクラスの、OnGetClipboardData 関数をオーバーライドします。この関数では、以下の処理を行います。

クリップボードに格納できる形式を追加するには

  1. COleDataSource オブジェクトを作成します。

  2. このデータ ソースを、COleDataSource::CacheGlobalData 関数を呼び出してネイティブ データ形式を追加する関数に渡します。

  3. サポートする標準形式ごとに、COleDataSource::CacheGlobalData を呼び出して標準形式を追加します。

この方法は、MFC OLE のサンプル プログラム HIERSVR で使用されています。CServerItem クラスの OnGetClipboardData メンバ関数を確認してください。このサンプルでの唯一の違いは、HIERSVR ではほかの標準形式がサポートされないため、手順 3 が実装されないことです。

さらに詳しくは次のトピックをクリックしてください

参照

参照

クリップボード : OLE クリップボード機構の使用方法