关于回答VC6MFC定义圆类、直线类、矩形类,绘图
来源:网络收集 点击: 时间:2024-06-11首先建立一个单文档的MFC,具体步骤如下图






工程建立完成后就添加网友需要的类,首先我想了一下,既然要学习如何使用类,那么我们就要想一下类怎么用好类,首先分析直线,圆,矩形,它们都有共同的属性,那就是绘图的位置,所以就先建立一个派生于CDC的基类,然后它们的绘制方法不一样,就分别建立它们的绘图类就行了.步骤如下:



CDrawBase类生成后,就为它添加变量和函数,步骤如下:


基类完成后,就分别添加圆,直线,矩形的派生类,其实派生类很简单,就是添加一个绘图的方法函数,pDC-Ellipse(m_Start.x,m_Start.y,m_End.x,m_End.y); //画圆这里的pDC是通过参数引入的DC,绘图必需要有DC.下面的图只介绍了DrawEP类,其它的都不用动,为它添加一个Draw(CDC* pDC)函数就行了.直线类DrawLine和矩形类DrawRC和圆类DrawEP的建立方法都是一样的,我就不再单独说了.




好了,类建立完成了.下面就是在窗口菜单栏中添加直线,圆,矩形的选择菜单了,同样的因为方法都是一样的,所以我只介绍一种.步骤如下:


菜单添加完成后,就为这些菜单添加消息映射函数,方法就是按快捷键Ctrl+W弹出下面的菜单,然后按图中的步骤添加,然后在这些函数里添加图中的代码,目的就是把选择相应菜单ID传到变量m_Choose里,便于后面作为判断.


菜单搞完,就开始添加鼠标的函数,我们只需要鼠标的按下和放开两个事件,然后在这两个函数中添加相应的代码完成绘图,方法如下


程序启动的时候,需要一个默认的绘图方式,这里我就把直线作为默认的绘图方式,所以需要在构造函数中对m_Choose初始化.

最后完成的效果如下,其实如果要真完成这些功能的话不需要单独建立一个类来做,这样挺麻烦的,还增加了代码,其实可以就用一个函数就能完成,当然我相信你也是需要学习类所以才问这个问题的,还有就是如何每个图需要很多的属性的话,用类来建立还是挺好的.

版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_899456.html