所以我有一个CTestPrintDlg对话框,它有一个编辑控件IDC_AVAILABLE_BALANCE和一个WithdrawVoucher按钮。
内部CTestPrintDlg :: OnBnClickedButtonWithdrawVoucher()我做了一些工作正常的东西,最后我正在尝试更新编辑控件文本。
在按钮单击的处理程序内部尝试了以下操作:
this->GetDlgItem(IDC_AVAILABLE_BALANCE)->SetWindowTextW(_T("blah"));
和
CTestPrintDlg::GetDlgItem(IDC_AVAILABLE_BALANCE)->SetWindowTextW(_T("blah"));
还试过这个(在定义控制变量之后)
CTestPrintDlg::Main_window_balance_control.SetWindowTextW(_T("blah"));
以及(在定义值变量之后)
CTestPrintDlg::Main_window_balance_var = _T("blah");
以及
CTestPrintDlg::Main_window_balance_var.SetString(_T("blah"));
并且还在最后尝试了
CTestPrintDlg::UpdateData(TRUE);
一切都没有运气。有没有人知道为什么这不起作用?
更新:
奇怪的是,如果我这样做:
AfxGetMainWnd()->GetDlgItem(IDC_AVAILABLE_BALANCE)->SetWindowTextW(_T("blah"));
删除控制文本。