我在对话框上有一个编辑框和一个按钮。如何在单击按钮时更改编辑框运行时中的内容?我必须从文件中读取一条新记录,并在点击按钮时将其发布在编辑框中,我正在使用mfc。
答案 0 :(得分:8)
您可以通过调用从CWnd
基类继承的CEdit
class来设置Edit控件的文本(由MFC中的SetWindowText
method包装)。
因此,您需要做的就是响应按钮控件上的单击事件。您可以通过在父窗口BN_CLICKED
notification内的相应按钮控件中侦听OnCommand
method来执行此操作。
类似的东西:
BOOL CMyDialog::OnCommand(WPARAM wParam, LPARAM lParam)
{
if (HIWORD(wParam) == BN_CLICKED && LOWORD(lParam) == IDC_MYBUTTON)
{
m_Edit.SetWindowText(TEXT("My string"));
}
return CWnd::OnCommand(wParam, lParam);
}
获取和阅读有关MFC的书籍将非常有帮助。这是相当基本的东西,但如果您还不了解基本概念,那么在单个答案中可以涵盖很多内容。
使用类向导可以使这更容易...使用 Ctrl + W 键调用它并按照屏幕上的说明进行操作。你最终会得到类似的东西:
void CMyDialog::OnMyButton()
{
m_Edit.SetWindowText(TEXT("My string"));
}
答案 1 :(得分:6)
按下按钮后,在大多数情况下,更改编辑控件中文本的最简单方法是:
SetDlgItemText(IDC_EDIT_ID, "Desired Text String")
其中IDC_EDIT_ID
是编辑控件的ID
(在properties
窗口中设置)