【发布时间】:2016-02-22 18:31:33
【问题描述】:
您好,我在 C++ MFC 2010 上有两个对话框表单,我想将 from1 上的编辑控件更改为 form2。
我该怎么做?
【问题讨论】:
-
这两种形式是同一个程序的一部分吗?
-
是的都是同一个程序的一部分
您好,我在 C++ MFC 2010 上有两个对话框表单,我想将 from1 上的编辑控件更改为 form2。
我该怎么做?
【问题讨论】:
恕我直言,您不应直接从另一种形式访问一种形式的控件。这会在它们之间产生不必要的紧密耦合,将一种形式的内部暴露给另一种形式。
我建议您实现一个公共设置器来标识用途,而不是在您不知情的情况下可能更改的控件 ID。
在目标表单中:
public:
void SetUserName(const char* name)
{
SetDlgItemText(IDC_EDIT1, name);
}
在调用者中:
form1.SetUserName("new text");
【讨论】:
你使用SetDlgItemText。
form1.SetDlgItemText(IDC_EDIT1, "new text");
【讨论】: