IVBGetControl::EnumControls メソッド (vbinterf.h)

フォーム上のコントロールを列挙します。

メモ Visual Basic 以外のコンテナーではサポートされていないため、このメソッドの使用は推奨されなくなりました。
 

構文

HRESULT EnumControls(
  [in]  DWORD         dwOleContF,
  [in]  DWORD         dwWhich,
  [out] LPENUMUNKNOWN *ppenumUnk
);

パラメーター

[in] dwOleContF

列挙する OLE オブジェクトの種類を指定します。 このパラメーターには、 OLECONTF 列挙体によって列挙された次のいずれかの値を指定できます。

説明
OLECONTF_EMBEDDINGS
フォーム上の埋め込みオブジェクトを列挙します。 OLE コントロールを列挙するには、このフラグを含めます。
OLECONTF_LINKS
フォーム上のリンクされたオブジェクトを列挙します。
OLECONTF_OTHER
すべての擬似 OLE オブジェクトを列挙します。 VBX コントロールを列挙するには、このフラグを含めます。
OLECONTF_ONLYUSER
ユーザーが認識しているオブジェクトのみを列挙します。
OLECONTF_ONLYIFRUNNING
フォームで実行されているオブジェクトのみを列挙します。
 

OLE コントロールを列挙するときは、フラグOLECONTF_ONLYUSER、OLECONTF_ONLYIFRUNNINGOLECONTF_EMBEDDINGSを組み合わせることをお勧めします。 OLE コントロールと VBX コントロールの両方を含めるには、 OLECONTF_OTHERS フラグをこの一覧に追加します。 VBX コントロールのみを列挙するには、 OLECONTF_EMBEDDINGS フラグを削除し、 OLECONTF_OTHERS フラグを含めます。

[in] dwWhich

列挙するコントロールのセットを指定します。 このパラメーターには、次の値のいずれかを指定できます。

説明
GCW_WCH_SIBLING
0x00000001
コントロールのすべての兄弟を列挙します。
GC_WCH_CONTAINER
0x00000002
コントロールの親であるすべてのオブジェクトを列挙します。 このフラグでは、 GC_WCH_FONLYAFTER フラグまたは GC_WCH_FONLYBEFORE フラグを使用できません。
GC_WCH_CONTAINED
0x00000003
コントロールの子であるすべてのオブジェクトを列挙します。 このフラグでは、 GC_WCH_FONLYAFTER フラグまたは GC_WCH_FONLYBEFORE フラグを使用できません。
GC_WCH_ALL
0x00000004
すべてのオブジェクトを列挙します。
GC_WCH_FREVERSEDIR
0x08000000
逆のタブ オーダー方向にコントロールを列挙および整理します。 このフラグは、他のフラグと組み合わせることができます。
GC_WCH_FONLYAFTER
0x10000000
タブ オーダーでコントロールの後に表示されるすべてのコントロールを列挙します。
GC_WCH_FONLYBEFORE
0x20000000
タブ オーダーでコントロールの前に表示されるすべてのコントロールを列挙します。
GC_WCH_FSELECTED
0x40000000
現在選択されているすべてのコントロールを列挙します。
 

GC_WCH_Fxxxフラグと組み合わせて、フラグ GC_WCH_SIBLING、GC_WCH_CONTAINERGC_WCH_CONTAINED、またはGC_WCH_ALLのいずれかを使用します。

VBX コードでは、フォームへのポインターを取得するために、GC_FORM フラグが VBGetControl に渡されました。 OLE コントロール コードでは、このフラグを直接置き換えはありません。 代わりに、GC_WHC_ALLを EnumControls に渡し、列挙体の最初のコントロールへのポインターを使用します。 列挙体の最初のコントロールは、 GC_WHC_ALLを使用する場合は常にフォームです。

[out] ppenumUnk

OLE オブジェクトの列挙へのポインター。

戻り値

このメソッドは、標準の戻り値 E_INVALIDARGE_OUTOFMEMORYおよびE_UNEXPECTEDをサポートします。

解説

VBX コントロールを OLE コントロールに移行すると、 EnumControls によって Visual Basic VBGetControl が置き換えられます。これはサポートされなくなりました。

要件

   
対象プラットフォーム Windows
ヘッダー vbinterf.h

関連項目

IVBGetControl

OLECONTF