VisualC++6.0实例教程(全套课件)教案资料

上传人:youn****329 文档编号:132967828 上传时间:2020-05-22 格式:PPT 页数:312 大小:4MB
返回 下载 相关 举报
VisualC++6.0实例教程(全套课件)教案资料_第1页
第1页 / 共312页
VisualC++6.0实例教程(全套课件)教案资料_第2页
第2页 / 共312页
VisualC++6.0实例教程(全套课件)教案资料_第3页
第3页 / 共312页
VisualC++6.0实例教程(全套课件)教案资料_第4页
第4页 / 共312页
VisualC++6.0实例教程(全套课件)教案资料_第5页
第5页 / 共312页
点击查看更多>>
资源描述

《VisualC++6.0实例教程(全套课件)教案资料》由会员分享,可在线阅读,更多相关《VisualC++6.0实例教程(全套课件)教案资料(312页珍藏版)》请在金锄头文库上搜索。

1、VisualC 6 0实例教程 第2章文档和视第3章对话框与控件第4章菜单 快捷键和控制条第5章图形操作第6章文件操作第7章MFC通用类第8章异常处理和诊断第9章多线程 2 1通过视类与用户交互 学习目标1 在程序中响应鼠标消息在程序中响应键盘消息 2 1 返回第2章 程序的实现步骤 利用AppWizard生成单文档程序框架 DocView 为视类添加数据成员 2 1 BOOLm bMouseDown 标识鼠标左键是否按下HCURSORm hCross 十字型鼠标句柄HCURSORm hArrow 标准型鼠标句柄CPointm ptOld 临时点CPointm ptStart 画线的起始点 3

2、 在构造函数中初始化成员变量 CDocViewView CDocViewView m bMouseDown false m hCross AfxGetApp LoadStandardCursor IDC CROSS m hArrow AfxGetApp LoadStandardCursor IDC ARROW 2 1 voidCDocViewView OnLButtonDown UINTnFlags CPointpoint TODO Addyourmessagehandlercodehereand orcalldefaultm bMouseDown true 鼠标左键按下m ptStart p

3、oint 画线的起点m ptOld point 临时点SetCapture 将鼠标消息发送到视窗口CRectrect GetClientRect 4 为视类添加鼠标动作响应函数 2 1 voidCMyDrawView OnMouseMove UINTnFlags CPointpoint TODO Addyourmessagehandlercodehereand orcalldefaultif m bMouseDown CClientDCdc this dc SetROP2 R2 NOT dc MoveTo m ptStart 这两行代码擦除从起点 鼠标按下点 到dc LineTo m ptOl

4、d 上次鼠标移动到的位置之间的临时线dc MoveTo m ptStart 这两行代码从起点到鼠标当前位置画线dc LineTo point m ptOld point 鼠标当前位置在下一次鼠标移动事件看来就是 旧位置 CView OnMouseMove nFlags point 4 为视类添加鼠标动作响应函数 voidCMyDrawView OnLButtonUp UINTnFlags CPointpoint if m bMouseDown m bMouseDown false ReleaseCapture ClipCursor NULL CClientDCdc this dc SetROP

5、2 R2 NOT dc MoveTo m ptStart 这两行代码擦除从起点 鼠标按下点 到dc LineTo m ptOld 上次鼠标移动到的位置之间的临时线dc SetROP2 R2 COPYPEN dc MoveTo m ptStart 这两行代码从起点到鼠标当前位置画线dc LineTo point SetCursor m hArrow 设置鼠标形状为标准箭头形 CView OnLButtonUp nFlags point 2 1 程序的实现步骤 2 1 为视类添加数据成员为视类添加数据成员 2 1 intm nLine 记录已输入字符行数CStringm strDisplay 保存

6、当前字符串的变量 2 在构造函数中初始化成员变量 CDocViewView CDocViewView TODO addconstructioncodeherem nLine 0 m bMouseDown false m hCross AfxGetApp LoadStandardCursor IDC CROSS m hArrow AfxGetApp LoadStandardCursor IDC ARROW 3 为视类添加键盘消息响应函数 2 1 voidCDocViewView OnChar UINTnChar UINTnRepCnt UINTnFlags if nChar VK RETURN

7、如果按下回车键 m strDisplay Empty m nLine elseif m strDisplay GetLength 64 当前行字符数小于64m strDisplay nChar CClientDCdc this TEXTMETRICtm dc GetTextMetrics 基本知识 AfxGetApp LoadStandardCursor IDC CROSS 2 GetClientRect 设置鼠标形状为十字形 2 1 2 2利用文档类处理数据 学习目标1 在文档类中保存数据 2 2 返回第2章 程序的实现步骤 添加类CLine 2 2 classCLine publicCOb

8、ject public CPointm ptStart CPointm ptEnd CLine CLine CPointpt1 CPointpt2 virtual CLine voidDraw CDC pDC 2 2 CLine CLine CLine CLine CPointpt1 CPointpt2 m ptStart x pt1 x m ptStart y pt1 y m ptEnd x pt2 x m ptEnd y pt2 y CLine CLine voidCLine Draw CDC pDC pDC MoveTo m ptStart pDC LineTo m ptEnd 程序的实

9、现步骤 2 在文档类中添加保存数据的变量 2 2 public CStringm strLastLine CStringListm strList CPtrListm LineList 3 修改视类成员函数OnButtonUp 和OnChar 程序的实现步骤 2 2 voidCDocViewView OnLButtonUp UINTnFlags CPointpoint if m bMouseDown m bMouseDown false ReleaseCapture ClipCursor NULL CClientDCdc this dc SetROP2 R2 NOT dc MoveTo m p

10、tStart dc LineTo m ptOld dc SetROP2 R2 COPYPEN dc MoveTo m ptStart dc LineTo point CDocViewDoc pDoc GetDocument 得到文档类指针CLine pLine newCLine m ptStart point 创建CLine对象pDoc m LineList AddTail void pLine 将pLine加入到链表中 SetCursor m hArrow 设置鼠标形状为标准箭头形CView OnLButtonUp nFlags point 程序的实现步骤 voidCDocViewView

11、OnChar UINTnChar UINTnRepCnt UINTnFlags CDocViewDoc pDoc GetDocument if nChar VK RETURN pDoc m strList AddTail m strDisplay pDoc m strLastLine Empty m strDisplay Empty m nLine elseif m strDisplay GetLength m strLastLine m strDisplay CClientDCdc this TEXTMETRICtm dc GetTextMetrics 2 2 程序的实现步骤 2 2 voi

12、dCDocViewDoc DrawLine CDC pDC CLine pLine POSITIONpos m LineList GetHeadPosition for pos NULL m LineList GetNext pos pLine CLine m LineList GetAt pos pLine Draw pDC 4 在文档类中添加重画直线和重写文本的函数 程序的实现步骤 2 2 voidCDocViewDoc DrawText CDC pDC TEXTMETRICtm pDC GetTextMetrics 程序的实现步骤 2 2 voidCDocViewView OnDraw

13、CDC pDC CDocViewDoc pDoc GetDocument ASSERT VALID pDoc TODO adddrawcodefornativedataherepDoc DrawLine pDC pDoc DrawText pDC 5 修改视类成员函数OnDraw 返回第2章 第3章对话框与控件 内容摘要 1 使用对话框与控件2 模态对话框3 非模态对话框4 进度条对话框5 属性页对话框6 使用通用对话框 返回目录 3 1使用对话框与控件 3 1 程序的实现步骤利用AppWizard生成多文档程序 Dialog 编辑口令对话框资源添加控件关联变量添加代码 返回第3章 步骤1生成

14、程序框架 Dialog 项目名称 Dialog选择多文档界面应用程序 Multipledocument 3 1 步骤2编辑口令对话框资源 添加控件 IDC STATICStaticTextCaption 请输入口令IDC STATICStaticTextCaption 口令为一个0 9999之间的整数Clientedge Staticedge和Modalframe选中IDC PASSWORD EDITEditBoxPassword 选中IDOKButtonCaption 确定IDCANCELButtonCaption 取消 3 1 ID IDD PASSWORD DIALOGCaption 口

15、令 Class CPasswordDialog 步骤3添加控件关联变量 3 1 IDC PASSWORD EDITintm PasswordMinimumValue 0MaximumValue 9999 步骤4显示对话框 在文件Dialog cpp的头部 加入下面的包含语句 include PasswordDialog h 步骤4显示对话框 3 1 BOOLCDialogApp InitInstance CPasswordDialogcDlg 声明CPasswordDialog类的一个对象if cDlg DoModal IDOK 用户按了确定按钮 if cDlg m Password 1925

16、 口令为整数1925 如果口令不对 则显示出错信息 然后程序结束AfxMessageBox 口令错误 确定后将退出程序 returnFALSE else 如果按下取消按钮 程序也结束returnFALSE returnTRUE 3 2模态对话框 3 2 概念模态对话框弹出后 独占了系统资源 只有在关闭该对话框后才可能继续执行程序的其他代码 不能够在关闭对话框之前执行应用程序其他部分的代码 模态对话框一般要求用户做出某种选择 如前面例程中的口令对话框将一直出现并等待用户输入口令 返回第3章 程序的实现步骤 3 2 在上一节程序的基础上添加菜单资源和菜单响应函数编辑对话框资源和创建对话框类添加消息响应函数和代码 步骤1添加菜单资源和菜单响应函数 在 查看 V 菜单中添加以下菜单项SeparatorID VIEW MODALDIALOG模态对话框 M ID VIEW MODALLESSDIALOG非模态对话框 E ID VIEW PROGRESSDIALOG进度条对话框 R ID VIEW PROPERTIES属性页对话框 P ID VIEW COMMONDIALOG通用对话框 C 3 2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号