从另一个更改编辑 mfc 控件文本

Posted

技术标签:

【中文标题】从另一个更改编辑 mfc 控件文本【英文标题】:Change edit mfc control text from another 【发布时间】:2016-02-22 18:31:33 【问题描述】:

您好,我在 C++ MFC 2010 上有两个对话框表单,我想将 from1 上的编辑控件更改为 form2。

我该怎么做?

【问题讨论】:

这两种形式是同一个程序的一部分吗? 是的都是同一个程序的一部分 【参考方案1】:

恕我直言,您不应直接从另一种形式访问一种形式的控件。这会在它们之间产生不必要的紧密耦合,将一种形式的内部暴露给另一种形式。

我建议您实现一个公共设置器来标识用途,而不是在您不知情的情况下可能更改的控件 ID。

在目标表单中:

public:
  void SetUserName(const char* name)
  
    SetDlgItemText(IDC_EDIT1, name);
  

在调用者中:

form1.SetUserName("new text");

【讨论】:

【参考方案2】:

你使用SetDlgItemText

form1.SetDlgItemText(IDC_EDIT1, "new text");

【讨论】:

以上是关于从另一个更改编辑 mfc 控件文本的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio MFC 在键入/动态时更改编辑控件中的文本

如何从 MFC 更改下一个字符将放置在编辑控件中的位置?

如何将自旋控件关联到 MFC 中的不同编辑框

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

从 MFC 中的编辑控件写入文本 [重复]

MFC控件编程之 按钮编辑框.静态文本的使用