次の方法で共有


CWinFormsControl クラス

Windows フォーム コントロールのホスティング用の基本機能を提供します。

構文

template<class TManagedControl>
class CWinFormsControl : public CWnd

パラメーター

TManagedControl
MFC アプリケーションに表示される .NET Framework Windows フォーム コントロール。

メンバー

パブリック コンストラクター

名前 説明
CWinFormsControl::CWinFormsControl MFC Windows フォーム コントロール ラッパー オブジェクトを構築します。

パブリック メソッド

名前 説明
CWinFormsControl::CreateManagedControl MFC コンテナーにWindows フォーム コントロールを作成します。
CWinFormsControl::GetControl Windows フォーム コントロールへのポインターを取得します。
CWinFormsControl::GetControlHandle Windows フォーム コントロールへのハンドルを取得します。

パブリック演算子

名前 説明
CWinFormsControl::operator -> CWinFormsControl::GetControl を置き換えます。
CWinFormsControl::operator TManagedControl^ 型をWindows フォーム コントロールへのポインターとしてキャストします。

解説

CWinFormsControl クラスは、Windows フォーム コントロールをホストするための基本的な機能を提供します。

Windows フォームの使用方法の詳細については、「 MFC での Windows フォーム ユーザー コントロールの使用」を参照してください。

MFC コードでは、Window ハンドルをキャッシュしないでください (通常は m_hWndに格納されます)。 一部のWindows フォームコントロール プロパティでは、基になる Win32 WindowDestroyWindowCreateWindowを使用して破棄および再作成する必要があります。 MFC Windows フォーム実装は、コントロールのDestroyイベントとCreate イベントを処理して、m_hWnd メンバーを更新します。

Note

MFC Windows フォーム統合は、MFC (AFXDLL が定義されている) と動的にリンクするプロジェクトでのみ機能します。

要件

Header: afxwinforms.h

CWinFormsControl::CreateManagedControl

MFC コンテナーにWindows フォーム コントロールを作成します。

inline BOOL CreateManagedControl(
    System::Type^ pType,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    int nID)
inline BOOL CreateManagedControl(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    int nID);

inline BOOL CreateManagedControl(
    DWORD dwStyle,
    int nPlaceHolderID,
    CWnd* pParentWnd);

inline BOOL CreateManagedControl(
    typename TManagedControl^ pControl,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    int nID);

パラメーター

pType
作成するコントロールのデータ型。 Type データ型である必要があります。

dwStyle
コントロールに適用するウィンドウ スタイル。 Window スタイルの組み合わせを指定します。 現在サポートされているスタイルは、WS_TABSTOP、WS_VISIBLE、WS_DISABLED、WS_GROUPのみです。

rect
コントロールの左上隅と右下隅の座標を定義する RECT 構造体 (最初のオーバーロードのみ)。

nPlaceHolderID
リソース エディターに配置された静的プレース ホルダー コントロールのハンドル。 新しく作成されたWindows フォーム コントロールは、位置、z オーダー、およびスタイルを想定して静的コントロールを置き換えます (2 番目のオーバーロードのみ)。

pParentWnd
親ウィンドウへのポインター。

nID
新しく作成されたコントロールに割り当てられるリソース ID 番号。

pControl
CWinFormsControl オブジェクトに関連付けるWindows フォーム コントロールのインスタンス (4 番目のオーバーロードのみ)。

戻り値

成功した場合は、0 以外の値を返します。 失敗した場合は、0 を返します。

解説

このメソッドは、MFC コンテナー内の .NET Framework Windows フォーム コントロールをインスタンス化します。

メソッドの最初のオーバーロードは、MFC がこの型の新しいオブジェクトをインスタンス化できるように、.NET Framework データ型 pType を受け入れます。 pType は、 Type データ型である必要があります。

メソッドの 2 番目のオーバーロードは、CWinFormsControl クラスのTManagedControl テンプレート パラメーターに基づいてWindows フォーム コントロールを作成します。 コントロールのサイズと位置は、メソッドに渡される RECT 構造体に基づいています。 スタイルにはdwStyle のみが重要です。

メソッドの 3 番目のオーバーロードは、静的コントロールを置き換え、それを破棄し、その位置、z オーダー、およびスタイルを想定するWindows フォーム コントロールを作成します。 静的コントロールは、Windows フォーム コントロールのプレースホルダーとしてのみ機能します。 コントロールを作成するときに、このオーバーロードは、 dwStyle のスタイルを静的コントロールのリソース スタイルと結合します。

メソッドの 4 番目のオーバーロードを使用すると、MFC がラップする既にインスタンス化されたWindows フォーム コントロールpControlを渡すことができます。 CWinFormsControl クラスのTManagedControl テンプレート パラメーターと同じ型である必要があります。

Windows フォーム コントロールの使用のサンプルについては、「 MFC での Windows フォーム ユーザー コントロールの使用 を参照してください。

CWinFormsControl::CWinFormsControl

MFC Windows フォーム コントロール ラッパー オブジェクトを構築します。

CWinFormsControl();

解説

Windows フォーム コントロールは、CWinFormsControl::CreateManagedControl を呼び出すとインスタンス化されます。

CWinFormsControl::GetControl

Windows フォーム コントロールへのポインターを取得します。

inline TManagedControl^ GetControl() const;

戻り値

Windows フォーム コントロールへのポインターを返します。

CWinFormsControl::CreateManagedControl を参照してください。

CWinFormsControl::GetControlHandle

Windows フォーム コントロールへのハンドルを取得します。

inline HWND GetControlHandle() const;

戻り値

Windows フォーム コントロールへのハンドルを返します。

解説

GetControlHandle は、.NET Framework コントロール プロパティに格納されているウィンドウ ハンドルを返すヘルパー メソッドです。 ウィンドウ ハンドルの値は、CWnd::Attach の呼び出し中に CWnd::m_hWnd にコピーされます。

CWinFormsControl::operator ->

CWinFormsControl::GetControl を置き換えます。

inline TManagedControl^  operator->() const;

解説

この演算子は、式の GetControl を置き換える便利な構文を提供します。

Windows フォームの詳細については、「 MFC での Windows フォーム ユーザー コントロールの使用を参照してください。

CWinFormsControl::operator TManagedControl^

型をWindows フォーム コントロールへのポインターとしてキャストします。

inline operator TManagedControl^() const;

解説

この演算子は、Windows フォーム コントロールへのポインターを受け取る関数にCWinFormsControl<TManagedControl>を渡します。

関連項目

CWinFormsDialog クラス
CWinFormsView クラス