MFCでGetDlgItem関数はどのように使いますか
MFC において、GetDlgItem 関数はダイアログやウインドウの子コントロールのハンドルを取得する。関数のプロトタイプは以下の通り。
int nID に対応するダイアログ項目 (CWnd) を取得
子コンポーネントのID識別子は、nIDです。
GetDlgItem 関数を使用する手順は以下のとおりです。
- 子ウィンドウのハンドルを保持するための CWnd 型のポインタ変数を、ダイアログクラスまたはウィンドウクラスで宣言します。
- コントロールのID識別子を渡すGetDlgItem関数を呼び出すことで、コントロールのハンドルを取得します。
次がサンプルコードです:
ダイアログのボックスには、IDC_BUTTON1 という ID のボタンがあります。
CWndタイプのポインタ変数を宣言します。
CWnd *pButton1;
OnInitDialog 関数内で GetDlgItem 関数を使用してボタンのハンドルを取得する
BOOL CMyDialog::OnInitDialog()
この文の言葉を言い換えてください。
CDialogEx::OnInitDialog();
ボタンのハンドルを取得する
natively in japanese: pButton1 = GetDlgItem(IDC_BUTTON1);
TRUE を返却します。
ネイティブの日本語で言い換えると、「彼はいつも寮の自室にいて、あまり外出しない」
上記のコードにより、ダイアログ内のボタンコントロールのハンドルを取得でき、ボタンに対してテキストの設定、クリックイベントの取得などの操作を行うことができます。