MFCのCreate関数の使用方法
MFCにおけるCreate関数は、ウィンドウやコントロールを作成するための関数です。通常はダイアログの初期化処理時に呼び出され、ダイアログに所定のコントロールを作成するために用いられます。
Create関数の使用手順は次のとおりです。
- まず、そのコントロールのポインターを保持するためのコントロールのメンバー変数を定義します。たとえば、ボタンコントロールのメンバー変数を次の方法で定義できます。
CButton m_btnOK;
- ダイアログの初期化処理(OnInitDialog関数など)時にCreate関数を利用してコントロールを作成します。例えば、ボタンコントロールを作成する場合は次のような形式になります。
m_btnOK.Create(_T("OK"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect(10, 10, 80, 30), this, IDC_BTN_OK);
最初の引数はコントロールのテキスト、2つめの引数はコントロールのスタイル(ビットフラグで組み合わせて使う)、3つめの引数はコントロールの位置とサイズ、4つめの引数は親ウィンドウ(通常はダイアログ)へのポインタ、5つめの引数はコントロールのIDとなります。
- ダイアログのメッセージマップ関数で、コントロールのメッセージを処理します。例えば、ボタンのクリックメッセージを処理する場合は、以下のようにします。
ON_BN_CLICKED(IDC_BTN_OK, OnBnClickedBtnOK)
対応するメッセージハンドラを実装します:
void CMyDialog::OnBnClickedBtnOK()
{
// 处理按钮点击事件的代码
}
上記手順を実行することで、Create関数を使用してコントロールを作成・使用できます。ただし、ダイアログが破棄されるときは、コントロールのDestroyWindow関数を呼び出してコントロールを破棄する必要があります。