学号:201201011367
程序名称:便捷记事本
程
序
设
计
说
明
书
学院:计算机电子信息工程学院
班级: 12级信息管理与信息系统
姓名:佐佐
一.前言
Windows操作系统是由微软公司开发的视窗操作系统,是目前世界上用户最多且兼容性最好的操作系统,windows软件自然也是大势所趋,因此我们大家学习windows编程设计能够深化对它的认识,有助于大家更好的学习windows编程。
本次程序设计试验是在我校专业微机三室采用windowsXP操作系统的微机进行试验,编程工具是 Microsoft Visual C++ 6.0(完整绿版)在 windowsXP操作系统上具有很好的兼容性,试验结果准确可靠 。sendmessage 关闭窗口
本程序是我半年来学习windows编程在老师的指导下写的一款常用的小程序—记事本。为了考察我们这学期的window程序编程能力和对课程的考察,老师通过考察课的形式检验我们.此次考察课老师让我们编写一款windows小程序并上交程序设计说明书.以下是我的这个程序的设计说明.
二.设计目的
使学生综合使用所学过的windows程序设计知识,掌握windows程序设计的基本结构思路和方法,利用所学的基本知识和技能,发挥自学能力和查资料的能力,解决稍微复杂的windows程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。 而且使同学们能够熟练地利用MSDN查在程序中遇到的API函数和消息等。熟悉在Visual C++ 6.0 中编辑、编译、调试和运行一个实际窗口式应用程序的步骤和方法。理解并掌握VC++的API编程步骤与方法,能进行简单的Windows程序设计提高实际动手能力。
三.总体设计描述
1. 建立一个编辑窗口,能进行文本的输入与删除操作。
2. 完成基本的编辑功能(复制、剪切、粘贴、撤销、删除、全选)。
3. 完成文件的读写操作(新建、打开、保存、另存为、退出)。
4. 形成完整的windows应用小程序-------便捷记事本。
四.功能模块划分
1主函数
主函数模块里主要有三步一、注册窗口类;二、建立窗口,显示窗
口,更新刷窗口;三、消息循环。在注册窗口类里窗口属性窗口样式是
水平、垂直可调;用wndclass.lpfnWndProc =WndProc指向窗口函数,
将二者联系起来;将图标、鼠标、背景颜画刷、菜单名载入窗口类并
且填入窗口类名。注册完窗口类后下面是根据窗口类创建窗口然后显示
窗口和刷新窗口。完成前面的操作后最后一步进行消息循环。
2窗口函数
在窗口模块里主要是定义了窗口的样式:子窗口、窗口可见、有水
平垂直滚动条、有边框、编辑样式是左对齐、多行、水平自然滚动、垂直
自然滚动,及定义所见窗口的位置及尺寸。还有所见窗口的代号和编辑窗
口的ID和指向实例的指针。虽然在窗口定义窗口的位置尺寸但是真实的
尺寸在WM_SIZE分支中由Move Window来确定。
3按消息细化模块功能
(1)首先进行初始化
(2)用WM_CREATE创建编辑窗口,使窗口可以输入文本。
(3)用WM_SETFOCUS使编辑控制项获得输入焦点。
(4)用WM_SIZE使编辑窗口实现移动的功能。
(5)用WM_COMMAND向窗口函数发送消息。
(6)文件菜单中操作功能:
<1>用IDM_FILE_NEW实现新建一个新文本文件功能
<2>用IDM_FILE_OPEN实现从电脑中打开一个文本文件的操作。
<3>用IDM_FILE_SAVE实现对已经操作完成的文件进行保存。
<4>用IDM_FILE_SAVE_AS实现对默认路径打开的文件进行另存为。
<5>用IDM_FILE_PRINT实现对文件在打印机的打印功能。
<6>用IDM_EDIT_EXIT实现退出及时本的作用。
(7)编辑菜单中的中操作功能:
<1>用 IDM_EDIT_UNDO实现对文本操作的撤销。
<2>用 IDM_EDIT_CUT实现对文本的剪贴操作。
<3>用 IDM_EDIT_COPY实现对文本的复制操作。
<4>用 IDM_EDIT_PASTE实现对文本的粘贴操作。
<5>用 IDM_EDIT_CLEAR实现对文本清除操作。
<6>用 IDM_EDIT_SELECT_ALL实现对文本全选操作。
(8)菜单栏上的帮助和关于功能:
IDM_HELP_HELP实现帮助操作,用IDM_APP_ABOUT实现关于操作。(9)用WM_CLOSE进行关闭窗口消息的处理。
(10)用WM_QUERYENDSESSION询问是否结束程序的窗口消息。
(11)用WM_DESTROY实现销毁窗口操作。
五.功能模块描述与实现
1.主函数模块的实现
(1)注册主窗口类,
<1>定义一个WNDCLASS结构变量wndcls
<2>按主窗口属性填写wndcls各成员
<3>用RegisterClass注册窗口类
(2)建立、显示、刷新主窗口
<1>用CreateWindow函数建立编辑窗口
<2>用ShowWindow显示窗口
<3>用UpdateWindow更新窗口
(3)建立应用程序的消息循环
<1>用GetMessage函数表达式作为while循环的条件
<2>在循环体内调用TranslateMessage产生字符消息
<3>在循环体内调用DispatchMessage分发消息消息
2.编辑窗口模块
(1)初始化编辑窗口
<1>编辑窗口获得输入焦点( WM_SETFOCUS)
<2>编辑窗口的移动(WM_SIZE)
<3>向编辑窗口发送消息(WM_COMMAND)
(2)菜单操作
<1>文件菜单
①新建:当打开文件为空时用SetWindowText函数改变指定窗口
的标题栏的文本内容,新建立一个文本文档。
②打开:用ZeroMemory宏用0来填充一块内存区域,然后用
GetFileLen获取文件长度,用GetOpenFileName获得打
开文件的名称并且指向打开的文件名,用Fopen打开文
件,用Free释放空间。
③保存:先判断文件是否为空,若不为空直接保存文件
④另存为:用ZeroMemory宏用0来填充一块内存区域,然后用
GetFileLen获取文件长度,用GetSaveFileName获得
保存文件的名称并且指向保存的文件名,用Fclose
关闭文件,用Free释放空间。
⑤退出:用SendMessage函数将指定的消息发送到一个窗口,销
毁编辑窗口。
<2>编辑菜单
①撤消:用SendMessage函数将撤消消息发送到编辑窗口。
②剪贴:用SendMessage函数将剪贴消息发送到编辑窗口。
③复制:用SendMessage函数将复制消息发送到编辑窗口。
④粘贴:用SendMessage函数将粘贴消息发送到编辑窗口。
⑤删除:用SendMessage函数将删除消息发送到编辑窗口。
⑥全选:用SendMessage函数将全选消息发送到编辑窗口。
<3>帮助和关于菜单
用MessageBox分别显示版主和关于信息的消息方块。
3.作用窗口函数模块
<1>初始化,窗口初建时(WM_CRETAE)。
<2>关闭窗口的处理。
<3>询问是否结束程序窗口的处理。
<4>清理全局或静态对象,窗口销毁时(WM_DESTROY)。
六.心得体会
从这次windows程序设计实验中,我深刻的认识到可视化编程与控制台编程之间的区别,win32编程并不是编写windows程序的唯一方法,但却是最基本最重要的方法。
Windows API写出的应用程序具有最佳的性能、最强大的功能和最大的灵活性,而且生成的执行文件相对较小,所以对于像我一样的编程初学者说,更应该深入认真地学习win32 编程,提高自己的编程技能和增加自己的编程经验,为以后学习其他的编程语言奠定基础。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论