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