CWnd::CreateEx

更新 : 2007 年 11 月

dwExStyle で指定した拡張スタイルで、オーバーラップ ウィンドウ、ポップアップ ウィンドウ、または子ウィンドウを作成します。

virtual BOOL CreateEx(
   DWORD dwExStyle,
   LPCTSTR lpszClassName,
   LPCTSTR lpszWindowName,
   DWORD dwStyle,
   int x,
   int y,
   int nWidth,
   int nHeight,
   HWND hWndParent,
   HMENU nIDorHMenu,
   LPVOID lpParam = NULL 
);
virtual BOOL CreateEx(
   DWORD dwExStyle,
   LPCTSTR lpszClassName,
   LPCTSTR lpszWindowName,
   DWORD dwStyle,
   const RECT& rect,
   CWnd* pParentWnd,
   UINT nID,
   LPVOID lpParam = NULL
);

パラメータ

  • dwExStyle
    作成される CWnd の拡張スタイルを指定します。ウィンドウに対して任意の拡張ウィンドウ スタイルが適用できます。

  • lpszClassName
    Windows クラス (WNDCLASS 構造体) 名を表す null で終わる文字列へのポインタ。クラス名は AfxRegisterWndClass 関数で登録された任意の名前、または任意の組み込みコントロール クラス名です。

  • lpszWindowName
    ウィンドウ名を持つ NULL で終わる文字列へのポインタ。

  • dwStyle
    ウィンドウのスタイル属性を指定します。設定できる値は「ウィンドウ スタイル」と「CWnd::Create」の説明を参照してください。

  • x
    CWnd ウィンドウの初期 x 位置を指定します。

  • y
    CWnd ウィンドウの初期 y 位置を指定します。

  • nWidth
    CWnd ウィンドウの幅を (デバイス単位で) 指定します。

  • nHeight
    CWnd ウィンドウの高さを (デバイス単位で) 指定します。

  • hwndParent
    作成される CWnd ウィンドウの親ウィンドウまたはオーナー ウィンドウを指定します。NULL を指定すると、トップレベルのウィンドウになります。

  • nIDorHMenu
    メニューまたは子メニューの識別子を指定します。ウィンドウのスタイルによって意味が異なります。

  • lpParam
    CREATESTRUCT 構造体の lpCreateParams フィールドで参照されるデータへのポインタを指定します。

  • rect
    ウィンドウのサイズと位置を pParentWnd のクライアント座標で指定します。

  • pParentWnd
    親ウィンドウを指定します。

  • nID
    子ウィンドウの ID を指定します。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

CreateEx のパラメータには WNDCLASS、ウィンドウ タイトル、ウィンドウ スタイル、およびウィンドウの初期位置とサイズ (省略可能) を指定します。CreateEx はウィンドウの親ウィンドウ (ある場合) や ID も指定します。

CreateEx が実行されたとき、Windows は WM_GETMINMAXINFOWM_NCCREATEWM_NCCALCSIZEWM_CREATE メッセージをウィンドウに送ります。

既定のメッセージ処理を拡張するためには、CWnd からクラスを派生し、新しいクラスにメッセージ マップを追加します。さらに、メッセージを処理するためのメンバ関数を用意します。新しいクラスに必要な初期化を行う場合などに、OnCreate をオーバーライドします。

派生クラスにさらに機能を追加するには、OnMessage メッセージ処理関数をオーバーライドします。

WS_VISIBLE スタイルが指定されたとき Windows は、ウィンドウをアクティブにし、ウィンドウを表示するために必要なすべてのメッセージをウィンドウに送ります。ウィンドウ スタイルでタイトル バーを指定したときは、lpszWindowName パラメータで指定したウィンドウ タイトルがタイトル バーに表示されます。

dwStyle パラメータには、ウィンドウ スタイルの任意の組み合わせを指定できます。

使用例

void CMyDlg::OnCreateExtendedControl() 
{
   // m_pWndStaticEx is a CWnd* member of CMyDlg
   m_pWndStaticEx = new CStatic;
   m_pWndStaticEx->CreateEx(WS_EX_CLIENTEDGE, // Make a client edge label.
      _T("STATIC"), _T("Hi"),
      WS_CHILD | WS_TABSTOP | WS_VISIBLE,
      5, 5, 30, 30, m_hWnd, (HMENU)2345);
}

必要条件

ヘッダー : afxwin.h

参照

参照

CWnd クラス

階層図

CWnd::Create

CreateWindowEx

その他の技術情報

CWnd のメンバ