MFCでリアルタイムでデータを表示するエディターボックス設定する方法
MFCフレームワークが提供するメッセージメカニズムとコントロールの応答関数を用いることで、編集ボックスでのデータのリアルタイム表示を実現できます。以下はその一例です。
- ダイアログクラスで編集ボックスコントロール変数を定義する(例:)
CEdit m_editBox;
- ダイアログクラスのOnInitDialog() 関数の中で、コントロールの ID を介して編集ボックスコントロールのポインタを取得します。例:
m_editBox.Attach(GetDlgItem(IDC_EDIT_BOX)->GetSafeHwnd());
- Dialogクラスに、たとえば編集ボックスコントロールの内容変更メッセージを処理するメッセージ処理関数を追加する。
afx_msg void OnEnChangeEditBox();
- メッセージマップテーブルに、対象のメッセージマップを追加します (サンプル: )
ON_EN_CHANGE(IDC_EDIT_BOX, &MyDialog::OnEnChangeEditBox)
- OnEnChangeEditBox()関数でテキストボックスの内容を取得し、関連データを更新します。
void MyDialog::OnEnChangeEditBox()
{
CString strText;
m_editBox.GetWindowText(strText);
// 更新数据
// ...
}
エディットボックスの内容が変更されると、OnEnChangeEditBox() 関数が呼び出され、その関数でデータ更新のロジックを実現できます。
なお、記載したコードは一例であり、実際の状況に応じて調整および改良が必要になります。