MFC中如何添加新类?
例如有类classA{inta;charb;};还有函数f(A*x,inty);f()函数是CView的成员函数(因为我要在OnDraw中调用)我应该如何添加呀?我添加一...
例如有类
class A{
int a;
char b;
};
还有函数 f( A * x , int y);
f()函数是CView的成员函数(因为我要在OnDraw中调用)
我应该如何添加呀?
我添加一个新的××.h文件,把#include"××.h"放在哪都不好使呀! 展开
class A{
int a;
char b;
};
还有函数 f( A * x , int y);
f()函数是CView的成员函数(因为我要在OnDraw中调用)
我应该如何添加呀?
我添加一个新的××.h文件,把#include"××.h"放在哪都不好使呀! 展开
5个回答
展开全部
Ctrl+W 打开类向导,在这里可以增加新的类。它会自动添加类的头文件。楼上的方法是在类中自动加成员变量,成员函数,消息响应函数。
类的定义放在哪与在哪绘图无关,想要在OnDraw中绘图,是为了在那建立消息响应函数,可以简化代码。实际上在CView与FrameView上绘图区别不大,只是绘图时用this指针时要注意范围,一个不包含工具栏,一个包含工具栏。它们的基类都是CWnd,也就是说它们都有处理默认窗口消息的过程函数,如果你用CClientDC的话,两者没什么区别,当然如果用this指针的话会有范围上的区别。因此在一般都在CView中增加消息响应函数,以简化代码。
如果你不求简化代码的话,可以不在OnDraw中录入代码,自已建一个消息响应函数(如:鼠标左键按下,释放,移动。。。。)。也就是用类向导,或者楼上两位说的方法。View::OnDraw()函数响应的是WM_PAINT消息,且集成了CDC设备环境,CDC的构造,析构函数因集成,而被简化掉了。减小了代码的录入。
类的定义放在哪与在哪绘图无关,想要在OnDraw中绘图,是为了在那建立消息响应函数,可以简化代码。实际上在CView与FrameView上绘图区别不大,只是绘图时用this指针时要注意范围,一个不包含工具栏,一个包含工具栏。它们的基类都是CWnd,也就是说它们都有处理默认窗口消息的过程函数,如果你用CClientDC的话,两者没什么区别,当然如果用this指针的话会有范围上的区别。因此在一般都在CView中增加消息响应函数,以简化代码。
如果你不求简化代码的话,可以不在OnDraw中录入代码,自已建一个消息响应函数(如:鼠标左键按下,释放,移动。。。。)。也就是用类向导,或者楼上两位说的方法。View::OnDraw()函数响应的是WM_PAINT消息,且集成了CDC设备环境,CDC的构造,析构函数因集成,而被简化掉了。减小了代码的录入。
推荐于2018-02-28
展开全部
Ctrl+W 打开类向导,在这里可以增加新的类。
在CXXXXDlg的.h文件里,把CProcFile的.h include放进去即可;
MFC新建class时,最好在class view中右键新建class,
这样做有下面的两个原因:
1.有时添加类时,VC不把它显示到class View中,也许有什么刷新的按钮,但是我没找到
2.当添加一些需要Dialog资源的View 譬如:CFormView等,在class View下有专门的 Form class供使用
如果在别的地方添加,dialog资源很难和新建的class结合。
在CXXXXDlg的.h文件里,把CProcFile的.h include放进去即可;
MFC新建class时,最好在class view中右键新建class,
这样做有下面的两个原因:
1.有时添加类时,VC不把它显示到class View中,也许有什么刷新的按钮,但是我没找到
2.当添加一些需要Dialog资源的View 譬如:CFormView等,在class View下有专门的 Form class供使用
如果在别的地方添加,dialog资源很难和新建的class结合。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用楼上方法,头文件和源文件都是自动添加的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
添加新类的方法是在Class View中右键点击选择。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上的个个都是人才,说话又好听
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询