⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 04.2 绘制线条.txt

📁 网上第一本以TXT格式的VC++深入详解孙鑫的书.全文全以TXT格式,并每一章节都分了目录,清晰易读
💻 TXT
字号:
绘制线条

了解了 MFC的消息映射机制,下面我们就来完成画线功能。在先前创建的Draw工程中,可以看到消息晌应函数 OnLButtonDown有两个参数(如例 4-2所示),其中第二个参数是 CPoint类型。 CPoint类表示一个点。也就是说,当鼠标左键技下时,鼠标单击处的坐标点已由此参数传递给 αιButtonDown这一消息响应函数。这样,我们所需做的工作就是在此消息响应函数中保存该点的信息。为此,需要在视类中增加一个成员变量。给一个类增加成员变量可以通过在 ClassView选项卡上用鼠标右键单击该类,并从弹出的快捷菜单中选择【 Add Member V.缸iable..】菜单命令,如图 4.9所示。
此时,会弹出如图 4.10所示的 Add Member Variable对话框。利用此对话框,给 CDrawView类添加一个新的成员变量 m_pt臼igin,将此成员变量的类型设置为 CPoint,并
, 

I 113


第4 将其访问权限设置为Private。单击【OK】按钮,完成成员变量的添加操作。

图 4.9为类增加成员变量的操作图 4.10 Add Member Variable对话框
接下来在CDrawView构造函数中初始化这个变量,将其值初始化为0。然后,在消息响应函数OnLButtonDown中保存鼠标按下点的信息,代码如例4-7所示。 
i9IJ 4-7 
void CDrawView : :OnLButtonDown(UINT nFlags , CPoint point) 
{ / / TODO: Add your message handler code here and/ or call default 
m-ptOrigin = point; 
CView : :OnLButtonDown(nFlags , point); 
此时,我们就得到了将要绘制的结条的起点,现在还要获得线条的终点才能绘制出一个线条。终点是在鼠标左键弹起来时获得的。这样,在 CDrawView类中还需要对 WM LBUTIONUP消息进行响应。利用前面介绍的右法添加该消息响应函数,该函数的初始代码如例4-8所示。
例4-8 

void CDrawV工ew: :OnLButtonUp(UINT nFlags , CPoint point) { // TODO : Add your message handler code here and/ or call default 
CView::OnLButtonUp(nFlags , poi口 t) ; 
可以看到、, VC++自动产生的这个消息响应函数也有一个CPoint类型的参数,表示鼠标左键弹起时的位置点,也就是需要绘制的线条的终点。有了这两个点,就可以绘制线条了。 
. 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -