gpt4 book ai didi

c++ - 如何访问 MFC 中主对话框的元素?元素是在可视化编辑器 VS 2012 中创建的

转载 作者:行者123 更新时间:2023-11-28 07:27:22 35 4
gpt4 key购买 nike

我在 VS 2012 中创建了一个可视化资源编辑器,在应用程序的主要窗体上创建了几个组件(其中一个是 CStatic 文本)。

我现在想访问它,所以我在我的 MainFrm.cpp 的某处写了(代码在单击其中一个按钮后执行,所以在构建完所有内容之后):

CStatic * temp = (CStatic *) GetDlgItem(IDC_OPERATION_INFO);
temp->SetWindowText(text);

在执行第二行代码时,出现错误:

Debug Assertion Failed!
Program: C:\Windows\system32\mfc110ud.dll
File: f:\\dd\vctools\vc7libs\ship\atlmfc\src\mfc\winocc.cpp
Line: 245

我做错了什么?

CStatic 是通过可视化编辑器创建的,而不是在代码中创建的。 Ofc 我在申请表上看到了它。

最佳答案

静态控件可能在 CDialog 或 CFormView 派生类上,而不是在 CMainFrame 上。 GetDlgItem 仅适用于调用类的子控件。

访问控件的更好方法是在可视化编辑器中右键单击它并选择“添加变量”。它会让您将 CStatic 变量(如 m_opinfo)添加到正确的父类。然后该类可以调用 m_opinfo.SetWindowText(text)。

关于c++ - 如何访问 MFC 中主对话框的元素?元素是在可视化编辑器 VS 2012 中创建的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18516629/

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