在 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 中单击按钮时更改编辑框内容的主要内容,如果未能解决你的问题,请参考以下文章