MFC学习 -- 画线,画圆,文本内容输出
创建一个MFC项目
如上图,点击MFC应用来即可创建MFC项目,之后点击下一步:
最终点击创建即可创建一个MFC项目,之后我们可以对该项目的相关属性进行配置,具体如下图:
此处将程序类型切换为单个文档以及项目样式切换为MFC standard模式。
之后将高级功能全部取消即可完成创建MFC项目。
使用MFC绘画一条直线
首先此处我们想要达到的效果是当我们按下鼠标的时候就开始进行画线,一直画到抬起鼠标结束,所以我们需要为这两个操作完成相应函数,具体如下图:
此处我们在消息中选择如上图所示的选项,该选项就是为我们鼠标左键按下这一操作编写对应的函数程序,此处我们是在鼠标按下的时候开始的,所以我们要记住鼠标左键按下时所在的坐标这里我们就要添加一个成员变量m_pOrigin来记录起始位置,它的类型为CPoint类型,具体操作如下图:
下面我们在按下鼠标左键的时候记录下初始坐标。
之后我们按照上面相同的步骤创建一个右键操作的函数如下图:
之后在左键抬起的时候我们即可画线了,具体函数体如下图:
此时运行代码即可完成下面的画线操作:
使用MFC绘画一个矩形以及MFC的画刷操作
在MFC中存在一个函数为Rectangle函数,通过该函数我们就可以智能构造任意矩形了,具体代码如下:
接下来我们介绍一下MFC中的画刷,在之前我们创建的矩形中,如果两个矩形是重叠的,那么后面的矩形就会被遮住,所以我们就可以使用透明画刷来解决这个问题,画刷的创建是通过GetStockObject函数获取到一个新的画刷,之后我们就可以将该画刷添加到设备的上下文中,并且此时会返回一个就的画刷,那么此时我们就要将该画刷保存起来,等结束的时候再调回去,具体操作如下图:
使用MFC绘画圆和椭圆
首先我们先构建椭圆,MFC构建圆形状是通过矩形来确定圆的边界的,也就是我们会先构建矩形,然后通过矩形的四个边来构造圆和椭圆,具体操作如下图:
运行之后结果如下图:
上面我们了解到椭圆是通过矩形边界来构建的,那么圆就是通过正方形的边界来构建的,也就是我们可以先创建一个正方形,然后保证正方形的四个边都与圆相切,那么就可以构建出一个圆了,具体操作如下:
运行代码可得到结果如下图:
使用MFC输出文本内容
首先我们可以对输出的字体格式进行设定,例如我们可以输出宋体,也可以输出行楷之类的,这里就要用到CFont这个类,通过该类我们可以创建一个字体对象,具体操作如下:
之后使用CreatePointFont函数来设定当前要使用的字体格式,具体如下图:
设置好字体之后我们就可以写文字了,此时我们通过CString类来构建一个字符串对象,如下图:
之后还可以通过SetTextColor函数来设置文字颜色,具体如下图:
都设置好之后,最终我们就可以通过TextOut函数将我们前面的字符串显示到对应位置,该位置就是我们鼠标放开时所在的位置,具体如下图: