C++ MFCでGetDlgItem()を使う方法
C++のMFCでは、GetDlgItem()関数でダイアログ内のコントロールハンドルを取得することができます。
GetDlgItem()関数の使い方は次のとおりです。
- まず、ダイアログクラスのメンバ関数もしくはメッセージ処理関数にて、GetDlgItem() 関数を呼び出します。例えば、OnInitDialog() 関数で呼び出します。
- コントロールのIDを指定するには、GetDlgItem()関数の引数にコントロールのIDを指定します。コントロールのIDはリソースエディタでコントロールに指定できます。
- GetDlgItem()関数は、そのコントロールを指すCWndポインタを返します。
- このポインタを用いて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()関数を先に呼び出す必要があります。