COleControl::OnGetNaturalExtent
コンテナーの IViewObjectEx::GetNaturalExtent 要求への応答として、フレームワークによって呼び出されます。
virtual BOOL OnGetNaturalExtent(
DWORD dwAspect,
LONG lindex,
DVTARGETDEVICE* ptd,
HDC hicTargetDev,
DVEXTENTINFO* pExtentInfo,
LPSIZEL psizel
);
パラメーター
dwAspect
オブジェクトの表示方法を指定します。 表示方法には、内容、アイコン、サムネイルや印刷されたカバー レターが含まれます。 有効な値は、DVASPECT の列挙型、または DVASPECT2 列挙型から設定されます。lindex
操作対象となるオブジェクトの部分。 現時点では -1 だけが有効です。ptd
オブジェクトのサイズが返されるターゲット デバイスが定義された DVTARGETDEVICE 構造体へのポインター。hicTargetDev
ptd パラメーターで指定されたターゲット デバイスの情報コンテキストを指定します。このパラメーターに基づいて、オブジェクトはデバイス メトリックを抽出し、デバイスの機能をテストします。 ptd が NULL の場合、オブジェクトは hicTargetDev パラメーターの値を無視します。pExtentInfo
サイズに関するデータを指定する DVEXTENTINFO 構造体へのポインター。 DVEXTENTINFO 構造体を次に示します。typedef struct tagExtentInfo
{
UINT cb;
DWORD dwExtentMode;
SIZEL sizelProposed;
} DVEXTENTINFO;
構造体メンバー dwExtentMode は、以下の値のいずれかです。
DVEXTENT_CONTENT コントロールが内容に完全に一致する (サイズが一致する) のに必要な大きさを調べます。
DVEXTENT_INTEGRAL サイズ変更するときには、推奨サイズがコントロールに渡されます。
psizel
コントロールによって返されたサイズ データへのポインター。 調整されていない場合の戻り値のサイズ データは -1 に設定されます。
戻り値
正常終了した場合、または、サイズの調整ができた場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
DVEXTENTINFO 構造体の推奨サイズと拡張モードに最も近いオブジェクトの表示サイズを返すには、この関数をオーバーライドします。 既定の実装では FALSE を返し、サイズの調整は行われません。
必要条件
**ヘッダー:**afxctl.h