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

时间:2012-01-31 06:34:41

标签: visual-c++ mfc

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

2 个答案:

答案 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窗口中设置)