建立一个简单地画直线的MFC单文档对话框并实现在对话框里面画直线

建立一个简单地画直线的MFC单文档对话框并实现在对话框里面画直线
建立一个简单地画直线的MFC单文档对话框并实现在对话框里面画直线

建立一个简单地画直线的MFC单文档对话框并实现在对话框里面画直线

在接下来只介绍操作步骤,MFC仅一个简单地单文档对话框的代码量都比较一般的控制台的代码量要大,所以在此仅仅介绍用户在接口的操作

首先,创建单文档MFCWizard.exe,选择创建单文档:

之后点击完成创建,这样一个单文档对话框的MFC应用程序就创建了

编译,运行,没有问题

接下来我们要在上图中对话框内实现一个简单的画直线的操作。

画图涉及到的DC(设备描述表)包含有鼠标(左右键均可,在这里我们习惯性地使用左键),对话框所在区域,即,在对话框内按下鼠标左键的时候,系统记录光标对应的点,这就是初始点。我们应该创建一个这个初始点变量,就在视图内创建。

在此之前,添加一个鼠标左键按下去记录的处理函数,

WM就是windows message的意思,在这个视图内里面添加handler

这时我们再观察view类,多出了一个对应的函数

最后一行,这就是我们刚刚添加的内容。

这样,添加了一个buttondown,我们继续添加变量,依然是在视图类里面完成。观察起点的变量类型,我们注意到为CPoint,于是我们开始相应设置

添加完毕,这是一个我们自己定义的新成员,需要在构造函数内对其初始化

把初始记录点的值赋给这个点

这样这部分就完成了,那么如何记录直线的终点呢,按下去的反操作自然是松开鼠标左键,我们来添加这个handler

WM_LBUTTONUP添加完成,我们需要在这部分编辑自己的代码了

首先,需要定义HDC对象hdc,把对话窗口赋给hdc,对话窗口的参数是m_hWnd,之后要用到MoveToEx()和LineTo()这两个函数,没有比MSDN里面更详细的说明了,最后释放DC

这就是我们自己编辑的代码,我们来编译运行看看结果

结语:在初学阶段,我觉得最重要的就是动起手来,光看不做是没有什么效果的,反之多动手边看才能事半功倍

欢迎你加入c/c++初级群,我们都是初学者,当然群里面也有大神能够轻而易举的帮你解决问题。qq群号码:368902887

期待你的加入!

相关主题
相关文档
最新文档