MFCにおけるGetDlgItem関数の用途は何ですか。
MFCのGetDlgItem関数は、ダイアログ内のコントロールのハンドルを取得するために使用される。
構文は次のようになります。
CWnd* GetDlgItem(int nID);
コントロールIDの指定に使用されるパラメータnIDは、リソースエディターのコントロールのプロパティから取得できます。
この関数は CWnd オブジェクトへのポインタを返し、このポインタで CWnd クラスのメンバー関数を呼び出すことでコントロールを操作できます。例えば、GetDlgItem 関数を使用してボタンコントロールのハンドルを取得し、CButton クラスのメンバー関数を呼び出してボタンを操作します。
ダイアログアイテムのハンドルを取得します。
CButton* pButton = (CButton*)GetDlgItem(IDC_BUTTON1);
ボタンのテキストを設定します。
pButton->SetWindowText(_T(“Click Me”));
注意点:
- 取得したコントロールハンドルはnullの場合があるので、判定が必要
- ダイアログの子ウィンドウがCDialog派生クラスのメンバ変数の場合は、GetDlgItem関数を使わずにメンバ変数名で直接操作することもできる。