自己写的cpp,如何调用MFC窗口的控件?

litchgu 2017-10-23 09:22:39
如题,我尝试将窗口的头文件添加进自己写的cpp中,但是会报错,会显示enum { IDD = IDD_VOD_DIALOG };这个会报错,显示没有定义,我尝试添加“Resource.h”进文件,但依旧报错。老大和我说可以传参数来解决这个问题,但是不怎么会,或者有没有其他办法啊?
...全文
566 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eleven 2017-10-23
  • 打赏
  • 举报
回复
对话框类的头文件中#include resource.h
csulizhang 2017-10-23
  • 打赏
  • 举报
回复
这个句柄其实就是指向窗口的指针 你把这个指针传进你的CPP就可以了 比如,在你的CPP里面定义 CVODDlg *m_hdlg; 方法RegisterDialog(CVODDlg *dlg){m_hdlg = dlg;} 在其他地方使用这个方法 maycppclass.RegisterDialog(&CVODDlg的实例化对象);
litchgu 2017-10-23
  • 打赏
  • 举报
回复
引用 1 楼 zhangli00 的回复:
IDD_VOD_DIALOG 这个是对应对话框的ID,你要确定你的这个对话框是否存在,他应该在资源视图的dialog下面存在,你可不能从别的工程里面直接拷贝到你的工程里面,没有对应的对话框,这个ID肯定不存在的 还有,一般你添加了对话框之后,引用ID,会提示报错,但是编译是可以过得,这个是VS开发环境的问题,重启一下IDE,报错就会消除。 你老大说的传参数,应该是叫你把对话框的句柄传进去,这样就可以调用对话框类里面的方法和成员了
那这个句柄怎么传啊?
csulizhang 2017-10-23
  • 打赏
  • 举报
回复
IDD_VOD_DIALOG 这个是对应对话框的ID,你要确定你的这个对话框是否存在,他应该在资源视图的dialog下面存在,你可不能从别的工程里面直接拷贝到你的工程里面,没有对应的对话框,这个ID肯定不存在的 还有,一般你添加了对话框之后,引用ID,会提示报错,但是编译是可以过得,这个是VS开发环境的问题,重启一下IDE,报错就会消除。 你老大说的传参数,应该是叫你把对话框的句柄传进去,这样就可以调用对话框类里面的方法和成员了
litchgu 2017-10-23
  • 打赏
  • 举报
回复
引用 4 楼 VisualEleven 的回复:
对话框类的头文件中#include resource.h
感谢,弄了半天在自己写的cpp中添加了'resource.h',原来是在对话框的头文件。

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧