次の方法で共有


IViewObject::GetColorSet メソッド (oleidl.h)

オブジェクトが対応するパラメーターを持つ IViewObject::D raw メソッドで描画するために使用する論理パレットを返します。

構文

HRESULT GetColorSet(
  [in]  DWORD          dwDrawAspect,
  [in]  LONG           lindex,
  [in]  void           *pvAspect,
  [in]  DVTARGETDEVICE *ptd,
  [in]  HDC            hicTargetDev,
  [out] LOGPALETTE     **ppColorSet
);

パラメーター

[in] dwDrawAspect

オブジェクトがどのように表示されるかを指定します。 表現には、コンテンツ、アイコン、サムネイル、または印刷されたドキュメントが含まれます。 有効な値は、列挙 DVASPECT から取得されます。 詳細については、 DVASPECT 列挙を参照してください。

[in] lindex

描画操作の対象となるオブジェクトの一部分。 その解釈は dwDrawAspect によって異なります。 詳細については、 DVASPECT 列挙を参照してください。

[in] pvAspect

dwDrawAspect で指定されたオブジェクトのビューに関する追加情報へのポインター。 現在のいずれの側面も追加情報をサポートしていないため、 pvAspect は常に NULL である必要があります。

[in] ptd

オブジェクトがレンダリングされるデバイスを記述する DVTARGETDEVICE 構造体へのポインター。 NULL の場合は、既定のターゲット デバイス (通常は表示) に対してビューをレンダリングする必要があります。 NULL 以外の値は、hicTargetDev および hdcDraw と組み合わせて解釈されます。 たとえば、 hdcDraw で プリンターがデバイス コンテキストとして指定されている場合、ptd はそのプリンター デバイスを記述する構造体を指します。 hicTargetDev が有効な値である場合は、データが実際に印刷される場合があります。また、hicTargetDevNULL の場合は印刷プレビュー モードで表示される場合があります。

[in] hicTargetDev

オブジェクトがデバイス メトリックを抽出し、デバイスの機能をテストできる ptd パラメーターによって示されるターゲット デバイスの情報コンテキスト。 ptdNULL の場合、オブジェクトは hicTargetDev パラメーターを無視する必要があります。

[out] ppColorSet

LOGPALETTE 構造体へのポインターを受け取る LOGPALETTE ポインター変数のアドレス。 LOGPALETTE 構造体には、 iViewObject::D rawdwAspectlindexpvAspectptdhicTargetDev と同じパラメーターで呼び出された場合に使用される一連の色が含まれています。 ppColorSetNULL の場合、オブジェクトはパレットを使用しません。

戻り値

このメソッドは、成功したS_OKを返します。 その他の可能な戻り値は次のとおりです。

リターン コード 説明
S_FALSE
一連の色が空であるか、オブジェクトが情報を提供しません。
OLE_E_BLANK
オブジェクトのプレゼンテーション データはありません。
DV_E_LINDEX
lindex の値が無効です。現在、-1 のみがサポートされています。
DV_E_DVASPECT
dwAspect の値が無効です。
E_INVALIDARG
指定されたパラメーター値の 1 つ以上が無効です。
E_OUTOFMEMORY
この操作で使用できるメモリが不足しています。

注釈

IViewObject::GetColorSet メソッドは、入れ子になったオブジェクトを再帰的に照会し、要求されたすべての色の和集合を表すカラー セットを返します。 最終的に設定された色は、ウィンドウ フレームを所有する最上位のコンテナーに表示されます。 このコンテナーは、埋め込みオブジェクトごとに IViewObject::GetColorSet を呼び出して、埋め込みオブジェクトを描画するために必要なすべての色を取得できます。 コンテナーは、それ自体がカラー パレット全体を設定するために必要な他の色と組み合わせて取得されたカラー セットを使用できます。

OLE で提供される IViewObject::GetColorSet の実装では、手元にあるデータを見て図を描画します。 CF_DIBが描画形式の場合は、ビットマップ内のパレットが使用されます。 通常のビットマップの場合、色情報は返されません。 描画形式がメタファイルの場合、オブジェクト ハンドラーは CreatePalette メタファイル レコードを探してメタファイルを列挙します。 見つかった場合、ハンドラーはそれをカラー セットとして使用します。

要件

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

こちらもご覧ください

DVASPECT

IViewObject