Visual c++ 在mfc中单击按钮时更改编辑框内容

Visual c++ 在mfc中单击按钮时更改编辑框内容,visual-c++,mfc,Visual C++,Mfc,我有一个编辑框和一个对话框上的按钮。单击按钮时,如何更改编辑框运行时中的内容?我必须从文件中读取新记录,并在单击按钮时将其发布到编辑框中,我正在使用mfc。您可以通过调用从CWnd基类继承的来设置编辑控件(由in-mfc包装)的文本 因此,您所需要做的就是响应按钮控件上的单击事件。您可以通过侦听父窗口中相应按钮控件中的 比如: BOOL CMyDialog::OnCommand(WPARAM wParam, LPARAM lParam) { if (HIWORD(wParam) == B

我有一个编辑框和一个对话框上的按钮。单击按钮时,如何更改编辑框运行时中的内容?我必须从文件中读取新记录,并在单击按钮时将其发布到编辑框中,我正在使用mfc。

您可以通过调用从
CWnd
基类继承的来设置编辑控件(由in-mfc包装)的文本

因此,您所需要做的就是响应按钮控件上的单击事件。您可以通过侦听父窗口中相应按钮控件中的

比如:

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);
}
void CMyDialog::OnMyButton()
{
    m_Edit.SetWindowText(TEXT("My string"));
}
获得并阅读一本关于MFC的书将非常有帮助。这是相当基本的东西,但如果你还不了解基本概念,那么在一个答案中要涵盖的内容就太多了

使用类向导将使这更容易。。。使用Ctrl+W键调用它,并按照屏幕上的说明进行操作。你最终会得到这样的结果:

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);
}
void CMyDialog::OnMyButton()
{
    m_Edit.SetWindowText(TEXT("My string"));
}

按下按钮后,在大多数情况下,更改编辑控件中文本的最简单方法是:

SetDlgItemText(IDC_EDIT_ID, "Desired Text String")
其中,
IDC\u EDIT\u ID
是编辑控件的
ID
(在
属性
窗口中设置)