Windows应用程序设计概述(精选)
- 格式:ppt
- 大小:1.43 MB
- 文档页数:25
天津农学院计算机科学与信息工程系《Windows应用程序设计》教学实习报告实习名称:简单图形画图工具专业:信息管理班级: 1班学号:多名同学学号用逗号间隔姓名:多名同学姓名用逗号间隔指导教师:裘千仞成绩: 100二00九年九月目录1 实验内容 (2)2 设计介绍 (2)3 实验步骤 (3)3.1.1 应用说明 (5)3.1.2 绘图效果展示 (7)4 总结 (8)1实验内容本次实习要实现的内容为,做一个简单的绘图软件,实现画不同颜色,不同宽度,不同线型的线段、椭圆和矩形。
进一步要求:实现文件的储存,读取。
2设计介绍①关于实现图线的颜色、宽度、图形形状的改变可以通过对话框的方式完成交互。
②关于画图时图形的信息,我们可以通过新建一个图形类进而建立一个链表来进行储存。
这样做与数组做法对比的好处就是,用链表可以画很多很多的图形,不用考虑内存空间不够用,而数组不行,因为任何一个数组都会有一个最大下标,即到达了内存极限;再就是当画图数目较小时,链表做法在CXXXDocument中开辟的内存空间小于数组做法开辟的内存空间。
③关于橡皮线的问题,我们可以通过画出颜色图形,再画同样的白色图形,再画出颜色图形(最后一次移动的图形要显示,以便于点击后再保存)。
④关于重绘问题,每次调用CXXXView::OnDraw()函数,都会对客户区进行重绘,所以应该把所有重绘的信息放到ondraw里面进行重绘。
不需要进行重绘的信息,就不要放到ondraw里面。
但为了避免重绘和不重绘交替交替进行时的客户区闪烁问题,最好将所有图形进行重绘,把有用的保存,无用的不保存,有用的不擦除,无用的擦除。
⑤关于重绘时的客户区闪烁问题,我想应该是这样的:虽然ondraw画图的速度很快,但是图形对象变多,填充区域变大、填充色彩不一致且相互覆盖时,前面的图形与后面的图形绘图差异就越来越明显了,以至于被人眼把时间差给辨别出来了,在视觉上呈现的直接感觉就是客户区闪烁。
Windows应用程序设计学时:总学时54;理论36;实验18 学分:3适用对象:信息管理与信息系统、计算机科学与技术、软件工程专业先修课程:《C++程序设计》考核方式:本课程采用期末考核与平时成绩相结合的方式进行成绩评定,平时成绩占40%,期末考核成绩占60%。
平时成绩包括作业、实验报告与上课表现,期末考核为闭卷笔试方式。
一、课程的性质与任务《Windows应用程序设计》是为计算机科学与信息工程系各专业开设的一门专业基础课。
该课程以面向对象程序开发理论为基础,具有较强的理论性、实践性和实用性。
该课程的主要任务是讲授利用MFC进行Windows应用程序设计的基本原理和方法,并向学生灌输框架编程的核心思想,从而为今后开发实用性较强的软件系统打下坚实基础。
二、教学目的与基本要求本课程的目的是使学生深刻理解框架编程的思想,学会MFC的常用类的用法,并能够开发出一般功能的Windows应用程序,进一步提高学生实际编程和用程序解决问题的能力。
教学中要求学生掌握Windows应用程序的基础概念、术语;理解Windows应用程序框架的封装原理;深刻理解VC提供的“文档/视图”结构框架;掌握MFC类库提供的常用类在窗口中绘制图形;熟练掌握鼠标、键盘消息处理的方法;熟练掌握资源的使用方法;掌握MFC的文件处理机制;熟练掌握对话框及控件的编程方法;了解应用程序中进程与线程的管理方法;学会用MFC设计数据库应用程序。
理论教学部分理论课学时:36使用教材及主要参考书:1、使用教材:任哲等编著,《MFC Windows应用程序设计》,清华大学出版社,2004年2、主要参考书:候俊杰,《深入浅出MFC》第二版,华中科技大学出版社,2001年陈志泊等编著,《Visual C++ 6.0程序设计》,中国铁道出版社,2005年一、学时分配章节课程内容学时1 Windows应用程序基础知识 22 Windows应用程序的类封装 23 MFC应用程序框架 24 图形 25 MFC的通用类 26 Windows应用程序界面的设计 27 鼠标和键盘 28 资源 49 MFC的文件处理机制 210 控件 411 对话框 412 进程与线程的管理 416 用MFC设计数据库应用程序 4合计36二、教学中应注意的问题基于MFC的应用程序设计实践性较强,因此该课程的教学要注意理论联系实际,注意课堂上的实例教学。
mfcwindows程序设计全文共四篇示例,供读者参考第一篇示例:MFC(Microsoft Foundation Class)是微软公司提供的基于Windows操作系统的C++类库,用于开发Windows应用程序。
MFC 为开发者提供了丰富的类和函数,简化了Windows应用程序的开发过程,使开发者能够快速地创建功能强大的Windows桌面应用程序。
MFC的设计目标是提供一种易于使用的框架,使开发者能够专注于应用程序的逻辑功能而不必过多关心底层的Windows API。
MFC提供了一些基本的类,如CWinApp、CWinFrameWnd、CDialog等,开发者可以继承这些类并重载其成员函数来实现自己的逻辑。
MFC的开发流程通常是这样的:首先创建一个MFC应用程序工程,然后在工程中添加需要的资源和类文件,并通过类向导生成相应的类,最后编写具体的逻辑代码。
MFC应用程序通常包括菜单、工具栏、对话框、工具栏等界面元素,开发者可以通过拖拽控件来设计界面,通过消息映射机制来处理用户操作。
MFC的优点之一是它与Visual Studio集成得很好,可以通过IDE 直观地进行开发、调试和部署。
开发者可以使用可视化编辑器来设计界面,利用自动生成的代码框架来实现业务逻辑,以及通过调试工具来调试程序。
MFC还提供了强大的文档视图架构,使得开发者可以轻松地实现文档的编辑、显示和保存。
MFC还提供了许多方便的类和函数,如文件操作类CFile、字符串处理类CString、图形绘制类CDC等,这些类和函数大大简化了开发者的工作,提高了开发效率。
MFC还提供了许多常用控件和常用对话框,如按钮、编辑框、列表框、进度条,以及文件对话框、颜色对话框、字体对话框等,使开发者可以快速地实现各种功能。
MFC也有其局限性。
随着技术的不断发展,MFC的功能和性能已经逐渐落后于现代的开发框架,如WPF、WinRT等。
MFC的界面设计相对较为传统,不够现代化,而且在跨平台开发上也存在问题。
第1章 Windows应用程序概述 (2)1.1 Windows应用程序基本概念 (2)1.1.1 Windows应用程序界面 (2)1.1.2 Windows应用程序与API函数 (2)1.1.3 Windows应用程序的句柄 (3)1.1.4 Windows应用程序的数据类型 (4)1.2 Windows程序设计平台开发环境 (5)1.2.1 Visual C++简介 (5)1.2.2创建Win 32 Console应用程序 (5)1.2.3创建Win 32应用程序 (6)1.2.4创建MFC Windows应用程序 (7)1.3 消息映射 (12)1.3.1 事件与消息 (12)1.3.2消息映射 (13)1.3.3 消息处理 (14)1.4 消息处理实例 (14)1.4.1 鼠标消息处理的实例 (14)1.4.2 键盘消息处理的实例 (16)习题1 (19)实验1 高级Windows应用程序开发基础 (21)第1章 Windows应用程序概述Windows是一种应用于计算机的操作系统,它为应用程序提供的多任务环境中具有一致图形化窗口和菜单。
在Windows操作系统上运行的应用程序叫做Windows应用程序。
本章主要介绍如下内容:●Windows应用程序的基本概念;●Windows应用程序的建立;●消息的概念;●消息处理函数。
1.1 Windows应用程序基本概念1.1.1 Windows应用程序界面Windows是微软公司开发的一种操作系统,以Windows作为平台运行的应用程序就叫做Windows应用程序。
Windows应用程序的一个显著特点是它有一个美观的图形用户界面(GUI),参见图1-1。
通过鼠标、键盘配合操作图形用户界面,大大方便了用户对Windows 应用程序的控制。
仔细观察这个图形用户界面,它是由许多不同的图形元素组成的,例如图标、标题栏、菜单栏、工具栏、状态栏、窗口边界、滚动条、控制按钮等组成。
学生信息管理系统一、功能:能够完成学生信息管理的事务处理,包括学籍管理、系统管理、课程管理、成绩管理及报表等模块。
1、用户信息管理:添加、删除用户,修改密码等2、基本信息管理:添加课程信息和班级信息3、学生档案管理:添加、修改、删除和查询学生信息4、学生成绩管理:输入、修改和查询成绩5、报表管理:显示和打印成绩报表二、数据库设计:系统中相关的数据表有AdminInfo、ClassInfo、Courses、DepartmentInfo、Results、StudentInfo表,和StuResultsView视图三、实现:用Visual Studio 2008创建一个基于C#语言的Windows应用程序,命名为“StudentInfo”。
(一)主界面窗体frmMain功能:用户可通过单击菜单项,打开对应的窗体,实现相关操作。
实现:用tsbn+有意义的名字。
状态栏及状态栏项的名字请大家用ssl+有意义的名字。
将该程序设置为MDI多文档应用程序,打开的其他窗体都能显示在主界面窗体中。
该窗体的代码:(二)添加一个类DataBase.cs,实现功能,详见书上。
在DataBase类的代码public class DataBase中添加以下代码:private static string ConnString ="server=CSY-0269009EFEC\\SQLEXPRESS;database=StudentManagement;uid=sa;pwd=s asasa;";public static string username;public static string pwd;//获取数据表的方法,输入Sql语句,返回数据表public DataTable GetListReDataTable(string paramSql){DataTable myDt = new DataTable();SqlConnection myConn = new SqlConnection(ConnString);SqlCommand myCmd = new SqlCommand();myConn.Open();myCmd.Connection = myConn;mandText = paramSql;SqlDataAdapter myDa = new SqlDataAdapter(myCmd);myDa.Fill(myDt);myConn.Close();return myDt;}//返回插入删除结果的方法,输入Sql语句,返回int结果public int myExecuteNonQuery(string paramStr){int returnValue = 0;SqlConnection myConn = new SqlConnection(ConnString);myConn.Open();SqlCommand mySqlCom = new SqlCommand(paramStr, myConn);returnValue = mySqlCom.ExecuteNonQuery();myConn.Close();return returnValue;}(三)登录窗体frmLogin:功能:连接到StudentManagement数据库,查询AdminInfo表判断用户名和密码是否正确。
Windows程序设计基本概念1. Windows运行机制-----消息驱动消息驱动又叫做事件驱动,是Windows编程采用的程序设计思想。
在这种程序结构中,程序没有明显的开始、结束,程序流程的控制由各种随机发生、不确定、没有预先设定顺序的事件的发生来触发。
是一个不断产生消息和处理消息的过程。
也就是说程序一运行开始处于等待消息状态,取得消息以后,就对其做出相应进行处理,处理完以后又进入等待消息状态。
这种程序结构与windows操作系统结合非常紧密,最明显一点就是消息的管理是由操作系统完成的。
应用程序从操作系统获得消息的两种方式:一种就是应用程序调用windows提供的消息获取函数;另外一种就是回调函数,由操作系统自己调用。
1窗口:是Windows操作系统最重要最基本的一个概念。
它是一个正在运行的应用程序相对应的矩形区域,通过它用户可以和应用程序进行交互。
2客户区:是窗口中最大的一块空白的矩形区域,是用户和系统进行交互的主要区域,一般用于显示应用程序的输出。
3标题栏:位于窗口顶部,用于显示应用程序名称的。
4菜单栏:位于标题栏下方,菜单栏列出了应用程序支持的大部分功能。
5图标:适用于提醒用户的一个小图像,代表一个应用程序。
6光标:Windows光标显示在屏幕上的一个小位图。
7工具栏:一般位于菜单栏下方,上面有一些位图按钮,代表一些常用功能。
8状态栏:位于这个窗口底端,用于输出菜单提示信息和一些其他详细信息。
9对话框:一种特殊的窗口,用于接受用户的输入输出。
10控件:对话框上的许多小窗口都是控件。
如按钮,编辑框等都是控件。
2. Windows应用程序设计相关基本术语1窗口:是应用程序操作的基本单元,是用户可以通过它和应用程序进行交互的接口环境,也是系统管理应用程序的基本单位。
从程序运行的内存组织结构看,窗口对应一个数据结构WNDCLASS。
2实例:实际上实例就是一个可执行程序在内存中的拷贝。
一个可执行程序运行多次,在内存中就有多个内存拷贝。