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

Posted

技术标签:

【中文标题】在 mfc 中单击按钮时更改编辑框内容【英文标题】:Change Edit Box content when Button is clicked in mfc 【发布时间】:2012-01-31 06:34:41 【问题描述】:

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

【问题讨论】:

【参考方案1】:

您可以通过调用从CWnd 基类继承的SetWindowText method 来设置编辑控件的文本(由MFC 中的CEdit class 包装)。

那么您需要做的就是响应按钮控件上的单击事件。您可以通过在父窗口的 OnCommand method 内的相应按钮控件中侦听 BN_CLICKED notification 来做到这一点。

类似:

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"));

【讨论】:

【参考方案2】:

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

SetDlgItemText(IDC_EDIT_ID, "Desired Text String")

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

【讨论】:

以上是关于在 mfc 中单击按钮时更改编辑框内容的主要内容,如果未能解决你的问题,请参考以下文章

mfc 动态更新编辑框内容

mfc中如何设置编辑框\按钮的外观

当我按下对话框窗口中的按钮时,如何在该对话框中更改/附加编辑控件框的文本

在mfc怎样在工具条中添加编辑框

如何通过 mfc 应用程序中的编辑控制框更改窗口句柄?

在 MFC 中运行时更改编辑框属性