资源描述
安 徽 新 华 学 院
C/C++程序设计课程设计
院 系: 信息工程学院
年级专业: 12计科一班
小组名称: 语言使者
指导教
完成时间: 2013 年5月 21 日
信息工程学院院 信息与计算科学系
计算机导论课程设计任务及成绩
院(系):信息工程学院 教研室:软件教研室
角色
成员姓名
承担分工任务
组员
组长:吴文涛
齐秀清
黄家宝
沙先婷
吴文涛
丁伟龙
齐秀清:第一题,第五题
黄家宝:第十题,第八题
吴文涛:第二题,第四题
丁伟龙:第三题,第七题
沙先婷:第六题,第九题
课 程 设 计 任 务
项目一、。。。
项目二、。。。
成绩
成绩: 指导教师签字:
年 月 日
一、课程设计目的
1、了解面向对象程序设计特点;
2、了解MFC的功能及应用;
3、能用MFC进行可视化程序设计;
二、课程设计任务
1、项目主要功能说明;
2、工程中主要类结构描述;
3、工程中主要功能函数说明;
4、项目运行画面;
项目一:设计一个滚动字母
1、项目主要功能说明
本项目主要完成计算器的设计与实现,项目包括两部分:画面的设计和功能的设计。画面设计包括:1)按钮的设计;2)文本框的设计。功能设计包括:完成实型数字的加、减、乘、除等。
2、工程中主要类结构描述
工程设计中的类结构如图1.1所示:
派生类
CNameView
OnDraw
……
OnLButtonDown()
…
基类CView
1.1类结构示意图
1)基类说明:
MFC提供基类CView,该类为文本框类,该类中有多个成员函数完成不同功能。从派生类运行时的画面可以推断出,基类已经提供的成员函数至少有:画面控制函数OnDraw(),初始化函数等。
2)派生类说明:
在派生类中添加设计时所需事件函数,如:OnLButtonDown ()等。
3、工程中主要功能函数说明
OnLButtonDown ()函数为单击鼠标左键时的动作事件。
4、项目运行画面
项目二:计算器
1、项目主要功能说明
本项目主要完成计算器的设计与实现,项目包括两部分:画面的设计和功能的设计。画面设计包括:1)按钮的设计;2)文本框的设计。功能设计包括:完成实型数字的加、减、乘、除等。
2、工程中主要类结构描述
工程设计中的类结构如图1.1所示:
派生类
CNameView
CMfc_calDlg
OnDraw
CDialog……
OnLButtonDown()
OnButton1()
OnButton1()
OnButton1()
OnButton1()…
OnInitDialog()
基类CView
2.1类结构示意图
1)基类说明:
MFC提供基类CView,该类为文本框类,该类中有多个成员函数完成不同功能。从派生类运行时的画面可以推断出,基类已经提供的成员函数至少有:画面控制函数OnDraw(),初始化函数等。
2)派生类说明:
在派生类中添加设计时所需事件函数,如:OnLButtonDown()、OnButton1()、OnButton1()、OnButton1()、OnButton1()、OnInitDialog()等。
3、工程中主要功能函数说明
OnLButtonDown ()函数为单击鼠标左键时的动作事件。
OnButton1()函数为求和的动作事件
OnButton1()函数为求差的动作事件
OnButton1()函数为求积的动作事件
OnButton1()函数为求商的动作事件
4项目运行画面
项目运行成功的面画如图2.2所示:
项目三:画笔
1、项目主要功能说明
本项目主要完成画图的功能。
2、工程中主要类结构描述
工程设计中的类结构如图1.3所示
派生类
OnLButtonDown
OnLButtonUp
OnMouseMove
,
…
基类CGhView()
1)基类说明:
MFC提供基类CGhView,该类为文本框类,该类中有多个成员函数完成不同功能
基类已经提供的成员函数至少有:OnLButtonDown,OnLButtonUp,OnMouseMove
。
2)派生类说明:
在派生类中添加设计时所需事件函数,如:OnLButtonDown。
3、工程中主要功能函数说明
OnLButtonDown:该成员函数由框架调用,让您的应用程序处理一个Windows消息。参数传递给函数时,反映收到的消息框架收到的参数。如果调用此函数的基类的实现,该实现将使用原来的消息,而不是您提供的参数传递给函数的参数。
OnLButtonUp:这个是得到松开鼠标时的坐标,并完成画从起点到此点的一条线
你用window里的画笔画一根线操作一下就会有感性认识
OnMouseMove: 每当用户把鼠标移动一个像素,就会发生一个 mousemove 事件
4:项目运行画面
项目运行成功的画面如图1.3所示
项目四:显示硬盘信息
1、项目主要功能说明
查看磁盘详细信息
,CDialog
…CMfc_87Dlg
基类CGhView()
2工程中主要类结构描述
3、工程中主要功能函数说明
基类说明
MFC提供基类CDialog,该类为文本框类,该类中有多个成员函数完成不同功能。从派生类运行时的画面可以推断出,基类已经提供的成员函数至少有:画面控制函数OnDraw(),初始化函数等。
派生类说明
…CMfc_87Dlg继承了CDialog
项目五:获取和修改计算机NetBIOS名称
1、项目主要功能说明
本项目主要完成获取和修改计算机NetBIOS名称。
2、工程中主要类结构描述
工程设计中的类结构如图1.1所示:
派生类
CNameView
OnOK……
SetComputerName ()
…
基类CView
1.1类结构示意图
1)基类说明:
OnOK:当用户按OK按钮(ID是IDOK)时调用。
覆盖该函数执行OK按钮动作。如果对话框包括自动数据检验和交换,缺省方式是对应用的某些变量进行数据的检验和更新
2)派生类说明:
设置计算机名,系统下次启动时将使用该名称:SetComputerName :
3、工程中主要功能函数说明
SetComputerName :设置计算机名,系统下次启动时将使用该名称
4、项目运行画面
项目运行成功的面画如图所示:
项目六:MFC关机、重起、切换用户程序
1;项目主要功能说明:
设计实现一个可视化的关机、重起、切换用户程序,主要对话框等构成,可以直接通过可视化的按钮和对话框与用户进行交互,实现关机、重起、切换用户的功能。
2;工程中主要类描述
二、功能结构设计(对话框)
Class View里的三个类的简单说明:
l class CMyDlg : public CDialog
类CDialog是在屏幕上显示的对话框基类。对话框有两类:模态对话框和非模态对话框。模态对话框在应用继续进行之前必须关闭。非模态对话框允许用户执行另外的操作而不必取消或删除该对话框。可覆盖的函数 OnInitDialog 覆盖该函数可改变对话框初始设置。OnOK 覆盖该函数可在对话框中进行OK按钮操作。缺省值是关闭对话框,DoModal返回IDOK 。OnCancel 覆盖该函数可在对话框中进行Cancel按钮操作或按ESC键。缺省值是关闭对话框,DoModal返回IDCANCEL。另,在派生类CMyDlg和CAboutDlg中都有函数DoDataExchange(),其是用来在里面添加控件或者控件属性对应的成员变量的,在执行UpdateData()时系统会自动调用。调用它来初始化对话框的控件或更新数据。定义一个ComboBox变量: m_Combocomputer;然后就可以在对应的对话框的DoDataExchange函数中这样写到DDX_Control(pDX,IDC_BUTTON1, m_Combocomputer),以后对m_Combocomputer的操作就会显现在对话框的那个button上了,实现了数据交换的功能。
l class CAboutDlg : public CDialog
类CAboutDlg是对话框类,它是由MFC类库中的CDialog类派生而来的。
l class CMyApp : public CWinApp
类CMyApp是应用程序类,它的基类是CWinApp。每个基于MFC的应用程序都必须有一个从CWinApp类派生的对象。
OK()
Cancel()
OnInitDialog()
------
派生类
CAboutDlg
基类CDialog
-----
函数 virtual BOOL OnInitDialog();
virtual void OnOK();
成员 virtual void OnCancel();
派生类
CMyDlg
数据 CComboBox m_Combocomputer;
成员 int m_num;
1. 基类说明:
MFC提供基类CDialog,该类为对话框类,该类中有多个成员函数完成不同功能。从派生类运行时的画面可以推断出,基类已经提供的成员函数至少有:画面控制函数,初始化函数等;虚函数至少有Ok(),Cancel(),OnInitDialog()等实现多态性。
2.派生类说明:
在派生类中:1) 添加数据成员:ComboBox类的对象m_Combocomputer和画面的组合框对应。Int 型m_num的变量和编辑框对应。
2)函数:OnOK(),OnInitDialog()等。
3.相关成员函数功能说明:
1) 函数OnInitDialog()是布尔类型的虚函数,负责组合框,是在CMyDlg类中添加的组合框,则在CMyDlg类中的OnInitDialog()函数添加初始化值,组合框被定义了一个ComboBox类的对象m_Combocomputer,通过该对象的AddString()的函数可以添加初始值,如,m_Combocomputer.AddString("change user");
m_Combocomputer.AddString("restart");m_Combocomputer.AddString("Shutdown")
这些添加的在组合框的下拉框中是按字母顺序排列的。
2)OnOK()函数的修改,不是调用基类的CDialog::OnOK()的函数,通过对象m_Combocomputer的GetCurSel()函数返回组合框中列表框中当前选中的项的下标,用switch语句来匹配当前的下标而执行相应的操作。关于GetCurSel()的一点说明,是返回组合框中列表框中当前选中的项的下标,没选的时候是-1,是从0开始编号的。
4.引用函数说明:
1) UpdateData(true)画面数据读入到后台处理函数中。
2) UpdateData(false)把后台处理函数中的数据输出到画。
3) ExitWindowsEx (EWX_REBOOT,0);重启
4) ExitWindowsEx (EWX_SHUTDOWN,0);关机
5) ExitWindowsEx(EWX_LOGOFF,0); 切换用户
6) ExitWindowsEx(EWX_FORCE+EWX_SHUTDOWN,0); 强制关机
4、项目运行画面
项目运行成功的面画如图所示:
项目七:视图文本与对话框
1、项目主要功能说明
本项目主要完成 视图文本与对话框 (点击视图文中的Show选项,目的是为了把对话框中内容添加到视图文本中)
2、工程中主要类结构描述
工程设计中的类结构如图7.1所示:
派生类
CNameView
CMyDlg
CMfc_TextDlgView
OnDraw
CDialog……
OnShow()…
OnDraw( )
基类CView
7.1类结构示意图
1)基类说明:
MFC提供基类CView,该类为文本框类,该类中有多个成员函数完成不同功能。从派生类运行时的画面可以推断出,基类已经提供的成员函数至少有:画面控制函数OnDraw(),初始化函数等。
2)派生类说明:
在派生类中添加设计时所需事件函数,如:OnLButtonDown ()、OnShow()、OnDraw( )等。
3、工程中主要功能函数说明
OnShow()函数为点击视图文中的Show选项的动作事件。
OnDraw( )函数为把对话框中内容添加到视图文本中的动作事件
4、项目运行画面
项目运行成功的面画如图7.2所示:
项目八 设计一个鼠标定时提示
1、项目主要功能说明
本项目主要完成设计鼠标定时提示,项目包括功能的设计,建立一个单文 本框工程,在视图类中添加WM_TIMER消息和添加鼠标移动WM_MOUSEMOVE消息并
对应相应的函数,还要添加数据成员:CPoint MousePoint。
2、工程中主要类结构描述
工程设计中的类结构如图1.1所示:
派生类
CNameView
OnMouseMove
OnTimer
Invalidate()
KillTimer(1)
GetDocument()
基类
CPro_8View
1.1类结构示意图
1)基类说明:
MFC提供基类,onmousemove 事件会在鼠标指针移动时发生,每当用户把鼠标移动一个像素,就会发生一个 mousemove 事件。这会耗费系统资源去处理所有这些 mousemove 事件。OnTimer()函数用于实现定时控制功能,定时控制功能主要由下面三个函数共同实现:
SetTimer, KillTimer()和OnTimer().
2)派生类说明:
在派生类中添加设计时所需事件函数,如:
Invalidate()
KillTimer(1)
GetDocument()…。
3、工程中主要功能函数说明
Invalidate()
该函数的作用是使整个窗口客户区无效。窗口的客户区无效意味着需要重绘
KillTimer(1)
KillTimer:移除定时器函数的声明:移除先前用SetTimer设置的定时器。在定时器使用完毕后移除定时器时使用。
GetDocument()
用于获得程序当前有效的文档
4、项目运行画面
项目运行成功的面画如图所示:
项目九: 在视图中显示Html网页
项目主要功能说明
本项目主要完成在视图中显示Html网页。
2、工程中主要类结构描述
工程设计中的类结构如图1.1所示:
派生类
CNameView
CMfc_HtmlView
OnDraw
CHtmlView……
OnGoBack()
OnInitialUpdate()…
基类CView
9.1类结构示意图
1)基类说明:
MFC提供基类CView,该类为文本框类,该类中有多个成员函数完成不同功能。从派生类运行时的画面可以推断出,基类已经提供的成员函数至少有:画面控制函数OnDraw(),初始化函数等。
2)派生类说明:
在派生类中添加设计时所需事件函数,如:OnGoBack()、OnInitialUpdate()等。
3、工程中主要功能函数说明
OnGoBack()函数为执行后退的动作事件。
OnInitialUpdate()函数为连接到网址的动作事件
4、项目运行画面
:
项目十:不同区域显示不同鼠标图片
1、项目主要功能说明
本项目主要完成,移动鼠标至不同区域实现鼠标形状变化
2、工程中主要类结构描述
工程设计中的类结构如图1.1所示:
派生类
CMfc_MouseSView
OnDraw
……
LoadCursorID
CapPoint
OnMouseMove…
基类CView
1.1类结构示意图
1)基类说明:
MFC提供基类CView,该类为文本框类,该类中有多个成员函数完成不同功能。从派生类运行时的画面可以推断出,基类已经提供的成员函数至少有:画面控制函数OnDraw(),初始化函数等。
2)派生类说明:
在派生类中添加设计时所需事件函数,如:OnMouseMove等。
3、工程中主要功能函数说明
OnMouseMove函数为移动鼠标至不同区域时的动作事件。
LoadCursorID函数为导入鼠标形状图标的事件。
CapPoint函数为控制鼠标,在不同区域变换图标的动作事件。
4、项目运行画面
展开阅读全文