次の方法で共有


手動でコントロールを追加する方法

コードとの ダイアログ エディターを使用してダイアログ ボックスにコントロールを追加します。 または追加するに、自分できます。

コントロール オブジェクトを独自に作成するには、通常 C.C++ のダイアログまたはフレームウィンドウ オブジェクトの C++ コントロール オブジェクトを埋め込みます。フレームワークの他のオブジェクトと同様に、コントロールはと、ビルドが必要です。親ダイアログ ボックスまたはフレーム ウィンドウの作成時にコントロールの 生成(&&C),create,作成,生成 のメンバー関数をダイヤルする必要があります。ダイアログ ボックスでは、これは通常 OnInitDialogで、 OnCreateフレーム ウィンドウの場合は、されます。

どのようにダイアログ クラスの派生クラス宣言の CEdit のオブジェクトを宣言し、 OnInitDialog生成(&&C),create,作成,生成 のメンバー関数をダイヤルする方法を次の例に示します。CEdit のオブジェクトは、埋め込みオブジェクトとして宣言されているため、ダイアログ オブジェクトの作成、 生成(&&C),create,作成,生成 の独自のメンバー関数で初期化する必要があるときに自動的に構築されます。

class CCustomDialog : public CDialog
{
   CEdit m_edit;
   virtual BOOL OnInitDialog();
};

OnInitDialog の次の関数は四角形を設定し、 Windows のエディット コントロールを作成し、 CEdit の初期化されていないオブジェクトに接続するに 生成(&&C),create,作成,生成 をダイヤルします。

BOOL CCustomDialog::OnInitDialog()
{
    CDialog::OnInitDialog();
    CRect rect(85, 110, 180, 210);

    m_edit.Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP |
             ES_AUTOHSCROLL | WS_BORDER, rect, this, IDC_EXTRA_EDIT);
    m_edit.SetFocus();
    return FALSE;
}

編集オブジェクトを作成した後で、コントロールに SetFocus のメンバー関数を呼び出すことで入力フォーカスを設定できます。最後に、 OnInitDialog からフォーカスを設定することを示す場合は 0 を返します。ゼロ以外の値を返した場合、ダイアログ マネージャーは、ダイアログ ボックス内の項目リストの最初のコントロールの項目にフォーカスを設定します。ほとんどの場合、ダイアログ エディターを使用してダイアログ ボックスにコントロールを追加する必要があります。

参照

関連項目

コントロールの作成方法と使い方

CDialog::OnInitDialog

概念

コントロール (MFC)