- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
windows课程设计报告(正文)
课程设计的目的和任务1.1设计目的自计算机的普遍运用以来,在人们日常生活中,利用计算机进行数据的存储越来越广泛和重要,其中以windows的office软件运用的最为广泛,其包含了文字的输入和图形的插入等诸多强大的功能,但是其空间开销大,在运行时占用了过多的内存空间。但是,记事本和写字板以其方便快捷的优点同样赢得了很多客户的亲赖,不过记事本和写字板都无法满足图形的绘制和插入,使得其功能逊于office。无论是office还是记事本都有各自的特点,本次课程设计就结合了office与记事本的设计风格和功能,设计制作一个简易图文的编辑输入软件,其主要的功能结合了office和记事本的一些优点,可以进行文字的输入,简易图形的插入,同时还满足用户自适应的画图。1.2设计要求利用windows API函数,设计并实现基于Win32 GUI模式的简易图文编辑软件。1.3设计功能接收中英文文字输入。在文字区域内可插入基本图形:矩形、圆形等。自适应窗口显示,即带滚动条分行分页显示。1.4设计人员及分工设计人员分工XXX对字符输入的处理,包括对字符的删除、输入区的清空、光标的处理、滚动条的处理、光标和滚动条的同步,以及程序的测试和报告的编写XXX模式对话框的设计、图形的选择、颜色的选择、画笔的选择、图形的插入、自绘画,以及程序的测试和报告的编写1.5编译工具基于Microsoft Visual C++ 6.0的win32 Application语言开发1.6开发平台Windows Xp 和 Win 7简易图文编辑软件设计过程2.1设计流程图图1 设计流程图2.2主界面的创建窗口界面沿用word界面的设计风格(见图2),主窗口的中间大部分区域插入子窗口进行中文和英文的输入,在剩余的两边可实现矩形和椭圆图形的插入,以及实现用户自主作画。图2 界面设计图2.3父窗口与子窗口如图2所示,父窗口采用GRAY_BRUSH 和子窗口以示区别,在子窗口进行文字输入的时候,要和父窗口进行输入焦点的切换,程序中采用如下办法,定义全局变量 idFouse ,在父窗口中通过 case WM_SETFOCUS: SetFocus(GetDlgItem(hwnd,idFocus));/*通过子窗口的hwnd,idFoucs设置父窗口具有输入焦点*/ return 0;而在子窗口中由如下代码把子窗口结构中的子窗口ID取到自己的idFocus case WM_SETFOCUS: idFocus=GetWindowLong(hwnd,GWL_ID); case WM_KILLFOCUS: InvalidateRect(hwnd,NULL,TRUE); return 0;从而实现了再子窗口中输入文字的操作。2.4文字输入如图2所示,输入的文字将显示在子窗口中(白色区域)。本软件接受用户输入英文字符和中文汉字两种,并且可以实现对输入文字的删除、清空、自适应换行以及滚动条的分页显示,同时可通过键盘操作进行对光标的前移、后移、上移以及下移,实现代码如下所示:2.4.1光标的操作case WM_KEYDOWN: switch (wParam) {case VK_HOME://光标移到当前行的起始位置 xCaret = 0 ; break ; case VK_END://光标移到当前行的最后位置if(xCaret!=m+1)xCaret=m+1; break ; case VK_PRIOR: //光标移到当前客户区显示的顶位置 yCaret = 0 ; break ; case VK_NEXT: //光标移到当前客户区显示的底位置 yCaret = cyBuffer - 1 ; break ; case VK_LEFT: xCaret = max (xCaret - 1, 0) ;//移到当前行的起始位置 break ; case VK_RIGHT://移到当前行输入文字的最后 xCaret = min (xCaret + 1, cxBuffer - 1) ; break ; case VK_UP://光标上移一行 yCaret = max (yCaret - 1, 0) ; break ; case VK_DOWN://光标下移一行 yCaret = min (yCaret + 1, cyBuffer - 1) ; break ;case VK_DELETE://光标前移一个并删除一个文字for (x = xCaret ; x cxBuffer - 1 ; x++)BUFFER (x, yCaret) = BUFFER (x + 1, yCaret) ;BUFFER (cxBuffer - 1, yCaret) = ;HideCaret (hwnd)
您可能关注的文档
最近下载
- 2025中考模拟 数学(浙江卷)(答题卡).docx VIP
- 6-2 好少年在行动(课件)-《新时代中国特色社会主义思想学生读本 (小学低年级)》.pptx VIP
- 工厂VDA6.3-2023审核员培训考核试卷含答案.doc
- (建筑施工企业) 固定资产、无形资产管理制度.docx VIP
- 第二单元任务2《制作广式月饼》(教案)-2024-2025学年湘教版劳动五年级上册.docx VIP
- 代金劵模板.doc VIP
- 海洋生物学课件:中尺度涡对南海初级生产过程的影响.ppt VIP
- AI时代高校人才培养的改革与创新实践.docx
- 第6讲 做新时代的好少年(第一课时)扣好人生第一粒扣子(课件)-《学生读本(小学低年级)》.ppt VIP
- 人教版数学六年级下册全册教学课件(2025年).pptx
文档评论(0)