
1、首先,我们需要先写好类的定义,类的定义一般放在头文件中。在此需要注意的是,类名的首字母必须要大写。比如示例中的这个苹果类,其第一个字母必须是大写的 A,而不能是小写 a。
2、在定义类时,我们一般需要先确定好类的属性成员。属性成员通常作为私有类型,只能在类内直接访问。这样,就在一定程度上提高了类的安全性,可以有效避免类的数据在类外被第三方意外修改。
3、至于类的构造函数和析构函数,它们分别在创建类对象和销毁类对象时调用。在大多数情况下,这两个函数都是公有类型的。
4、当然,我们还可以在类中根据自己的需要添加一些自定义的功能函数。
5、类的定义写好以后,我们接下来就需要写类的实现。类的实现通常写到源文件中。请注意,在源文件中写类的实现时,我们务必要先包含类的定义文件。
6、在实现类的构造函数时,我们通常所做的就是为类的数据成员赋值,进行一些初始化工作。
点“插入”->“类”。d出一对话框。类的类型选“GenericClass”,然后填入你的类名,如果你要从基类继承,在下面的表格中填上基类名、继承方式(public、protected或private)。
Ctrl
W
打开类向导,在这里可以增加新的类。它会自动添加类的头文件。楼上的方法是在类中自动加成员变量,成员函数,消息响应函数。类的定义放在哪与在哪绘图无关,想要在OnDraw中绘图,是为了在那建立消息响应函数,可以简化代码。实际上在CView与FrameView上绘图区别不大,只是绘图时用this指针时要注意范围,一个不包含工具栏,一个包含工具栏。它们的基类都是CWnd,也就是说它们都有处理默认窗口消息的过程函数,如果你用CClientDC的话,两者没什么区别,当然如果用this指针的话会有范围上的区别。因此在一般都在CView中增加消息响应函数,以简化代码。如果你不求简化代码的话,可以不在OnDraw中录入代码,自已建一个消息响应函数(如:鼠标左键按下,释放,移动。。。。)。也就是用类向导,或者楼上两位说的方法。View::OnDraw()函数响应的是WM_PAINT消息,且集成了CDC设备环境,CDC的构造,析构函数因集成,而被简化掉了。减小了代码的录入。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)