OBJECTDESCRIPTOR 構造体 (oleidl.h)

CF_OBJECTDESRIPTORおよびCF_LINKSRCDESCRIPTORファイル形式に使用されるデータ構造を表します。 これらの形式は、データ転送操作中にユーザー インターフェイス情報を提供します。たとえば、[ 形式を選択して貼り付け ] ダイアログ ボックスやドラッグ アンド ドロップ操作中のターゲット フィードバック情報などです。

構文

typedef struct tagOBJECTDESCRIPTOR {
  ULONG  cbSize;
  CLSID  clsid;
  DWORD  dwDrawAspect;
  SIZEL  sizel;
  POINTL pointl;
  DWORD  dwStatus;
  DWORD  dwFullUserTypeName;
  DWORD  dwSrcOfCopy;
} OBJECTDESCRIPTOR, *POBJECTDESCRIPTOR, *LPOBJECTDESCRIPTOR, LINKSRCDESCRIPTOR, *PLINKSRCDESCRIPTOR, *LPLINKSRCDESCRIPTOR;

メンバー

cbSize

構造体のサイズ (バイト単位)。

clsid

転送されるオブジェクトの CLSID。 clsid は、[形式を指定して貼り付け] ダイアログ ボックスの [アイコンとして表示] オプションのアイコンを取得するために使用され、埋め込みソースまたは埋め込みオブジェクトの形式が提供されている場合にのみ適用されます。 どちらも提供されていない場合は、clsid の値をCLSID_NULLする必要があります。 clsid は、オブジェクトを読み込み、 IOleObject::GetUserClassID メソッドを呼び出すことによって、ソースによって取得できます。 リンク オブジェクトの場合、この値は IPersist::GetClassID メソッドによって返される値と同じではないことに注意してください。

dwDrawAspect

オブジェクトの表示の側面。 通常、この値はDVASPECT_CONTENTまたはDVASPECT_ICONです。 ソース アプリケーションが最初にオブジェクトを描画しなかった場合、 dwDrawAspect フィールドには 0 の値が含まれます (DVASPECT_CONTENTと同じではありません)。 詳細については、「 DVASPECT」を参照してください。

sizel

HIMETRIC 単位のオブジェクトの真の範囲 (トリミングまたはスケーリングなし)。 このフィールドの設定は省略可能です。 転送されるオブジェクトを描画しないアプリケーションの場合、値は (0,0) にすることができます。 このフィールドは、主にドラッグ アンド ドロップ操作のターゲットによって使用されるため、ユーザーに適切なフィードバックを提供できます。

pointl

ドラッグ アンド ドロップ操作が開始されたオブジェクトの左上隅からの HIMETRIC 単位のオフセット。 このフィールドは、ドラッグ アンド ドロップ操作を開始するためにマウスがクリックされたポイントに対応するため、ドラッグ アンド ドロップ転送操作でのみ意味があります。 クリップボードのコピーと貼り付けなど、他の転送状況の場合、値は (0,0) です。

dwStatus

オブジェクトの状態フラグのコピー。 これらのフラグは、 OLEMISC 列挙体によって定義されます。 埋め込みオブジェクトを転送する場合は、 IOleObject::GetMiscStatus メソッドを呼び出して返されます。

dwFullUserTypeName

転送されるオブジェクトの完全なユーザータイプ名を検索するためのオフセット。 OBJECTDESCRIPTOR データ構造の先頭から、転送されるオブジェクトの完全なユーザー型名を指定する null で終わる文字列までのオフセットをバイト単位で指定します。 文字列が存在しない場合、値は 0 です。 この文字列は、[ 貼り付け] [特殊な貼り付け ] ダイアログ ボックスでラベルを作成するために、データ転送の宛先によって使用されます。 この文字列を省略した場合は、変換先アプリケーションがケースを処理できる必要があります。

dwSrcOfCopy

データ構造の先頭から、転送元を指定する null で終わる文字列までのオフセット (バイト単位)。 dwSrcOfCopy メンバーは、通常、データ ソースを識別する一時モニカーの表示名として実装されます。 dwSrcOfCopy の値は、[形式を選択して貼り付け] ダイアログ ボックスの [ソース] 行に表示されます。 0 の値は、文字列が存在しないことを示します。 dwSrcOfCopy が 0 の場合、文字列 "Unknown Source" が [形式を指定して貼り付け] ダイアログ ボックスに表示されます。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header oleidl.h

こちらもご覧ください

FORMATETC

Idataobject