当在MFC中点击按钮时,如何更改编辑框的内容

6

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

2个回答

12

一旦你已经捕获到按钮按下的事件,在大多数情况下改变编辑控件中的文本最简单的方法是:

SetDlgItemText(IDC_EDIT_ID, "Desired Text String")

IDC_EDIT_ID是编辑控件的ID(在属性窗口中设置)


11
您可以通过调用 MFC 中 CEdit 包装的编辑控件的 SetWindowText 方法 来设置文本,该方法是从 CWnd 基类继承而来。
所以您只需要在按钮控件上响应单击事件。您可以通过在父窗口的 OnCommand 方法 中监听适当的按钮控件的 BN_CLICKED 通知 来实现这一点。
例如:
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);
}

Obtaining and reading a book on MFC would be very helpful. This is fairly basic stuff, but it's a lot to cover in a single answer if you don't already understand the fundamental concepts.
Using the Class Wizard would make this even easier... Invoke it with the Ctrl+W keys and follow the on-screen instructions. You'll end up with something like:
void CMyDialog::OnMyButton()
{
    m_Edit.SetWindowText(TEXT("My string"));
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接