gpt4 book ai didi

c++ - Visual MFC - 从另一个类访问编辑控件

转载 作者:行者123 更新时间:2023-11-28 06:58:00 25 4
gpt4 key购买 nike

我在 MFC 中有 2 个类,Class1 是带有 1 个编辑文本和 1 个按钮的对话框类。我添加了 Class 2(右键单击项目,选择添加->类,我不确定基类,所以它是默认的“CWnd”)

在类(class) 2 中,我实现了一个“输入”函数来更改类(class) 1 中编辑文本中的值

void Class2::Input()
{
UpdateData(true);
Class1 cl;
cl.edit1 = 10; //edit1 is the variable name of edit text
UpdateData(false);

}

当 Class1 中的按钮被点击时,它调用 Class2::Input

但是当我点击按钮时,错误出现“debug assertion failed”(在 UpdateData 函数处失败)

请帮助我从 Class2 访问 Class1 中的编辑文本谢谢

最佳答案

您的函数创建了一个新的 Class1,因此它与调用 Input 的 Class1 不是同一个对象。此外,新的 Class1 是一个尚未创建其窗口的 CWnd,因此对其成员的任何调用(如 UpdateData)都将断言,因为该窗口及其控件不存在。

您需要让 Class1 将“this”传递给 Class2。您可以使用 Input 函数的参数来执行此操作,也可以将其作为参数传递给 Class2 构造函数。

关于c++ - Visual MFC - 从另一个类访问编辑控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22910689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com