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 Window を破棄して再作成DestroyWindowCreateWindowする必要があります。 MFC Windows フォーム実装は、メンバーをDestroy更新するコントロールのイベントをCreatem_hWnd処理します。

Note

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

必要条件

ヘッダー: 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
作成するコントロールのデータ型。 型データ型である必要があります。

dwStyle
コントロールに適用するウィンドウ スタイル。 ウィンドウ スタイルの 組み合わせを指定します。 現在サポートされているスタイルは、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 番目のオーバーロードは、クラスのテンプレート パラメーターにTManagedControl基づいてWindows フォーム コントロールをCWinFormsControl作成します。 コントロールのサイズと位置は、メソッドに 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;

解説

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

関連項目

CWinFormsDialog クラス
CWinFormsView クラス