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”));

注意点:

  1. 取得したコントロールハンドルはnullの場合があるので、判定が必要
  2. ダイアログの子ウィンドウがCDialog派生クラスのメンバ変数の場合は、GetDlgItem関数を使わずにメンバ変数名で直接操作することもできる。
bannerAds