学号: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小时内删除。