C++ MFCでGetDlgItem()を使う方法

C++のMFCでは、GetDlgItem()関数でダイアログ内のコントロールハンドルを取得することができます。

GetDlgItem()関数の使い方は次のとおりです。

  1. まず、ダイアログクラスのメンバ関数もしくはメッセージ処理関数にて、GetDlgItem() 関数を呼び出します。例えば、OnInitDialog() 関数で呼び出します。
  2. コントロールのIDを指定するには、GetDlgItem()関数の引数にコントロールのIDを指定します。コントロールのIDはリソースエディタでコントロールに指定できます。
  3. GetDlgItem()関数は、そのコントロールを指すCWndポインタを返します。
  4. このポインタを用いてCWndクラスの他のメンバ関数を呼び出してコントロールを操作することができる。

以下は GetDlgItem() 関数を使用してダイアログ内のボタンコントロールを取得する方法を示すサンプルコードです。

BOOL CMyDialog::OnInitDialog()
{
CDialogEx::OnInitDialog();
// 获取按钮控件的句柄
CWnd* pButton = GetDlgItem(IDC_BUTTON1);
// 判断控件句柄是否有效
if (pButton != nullptr)
{
// 设置按钮文本
pButton->SetWindowText(_T("按钮"));
}
return TRUE;
}

このコードでは、IDC_BUTTON1 はボタン コントロールの ID で、SetWindowText() は CWnd クラスのメンバー関数で、コントロールのテキストを設定するために使用されます。

ダイアログクラスのOnInitDialog()メンバ関数でGetDlgItem()関数を呼び出す場合、基底クラスのOnInitDialog()関数を先に呼び出す必要があります。

bannerAds