- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章C语言编辑器设计与实现
第三章 单文档应用程序
在本学习情境中主要学习:
(1)CEditView的使用
(2)TC环境配置与TCC的使用
(3)文件的读写操作
(4)顶层菜单、快捷菜单和图标区菜单的使用
(5)工具栏、状态栏的使用
3.2C语言编辑器设计与实现
3.2.1C语言编辑器框架生成
在标准的SDI应用程序向导中,CXXXView类的基类是CView类,在设计C语言编辑器中可以将基类修改为CEditView,如图所示。
图 新建CEditPad工程
图 选择单文档应用程序框架
图 修改CCEditPadView类的基类为CEditView
单击Finish按钮,完成工程的创建。
编译、运行程序,如图所示。
图 程序运行结果
在工程的ResourceView中,可以将程序的图标换掉,默认情况下如图所示。
图 工程默认图标
(1)将想要更换的图标拷贝到工程res文件夹中,删除掉原来的NotePad.ico文件,将自己的ICON图标命名为CEditPad.ico即可。
(2)或者使用Import菜单,将想要更换的图标导入到工程中,如图所示。删除原来的IDR_MAINFRAME图标,将自己的图标命名为IDR_MAINFRAME即可。
图 导入工程图标
3.2.2程序菜单设计
菜单是windows应用程序中非常重要的人机界面,是用户与应用程序之间进行交流的主要方式之一,也是用户界面对象中的一个最重要的对象。
菜单是一系列命令的列表,用户能够选中其中的菜单命令并执行相应任务。
仍然使用我们前面生成的NotePad程序,编辑由AppWizard自动生成的菜单资源。
要编辑菜单资源:
(1) 选择项目工作区的ResourceView标签,切换到资源视图。
(2) 选择菜单资源类型。
(3) 选定菜单资源IDR_MAINFRAME,双击该项或单击鼠标右键然后在弹出菜单中选择Open选项。Visual Studio将弹出菜单编辑窗口,显示菜单资源IDR_MAINFRAME,其中IDR_MAINFRAME是由AppWizard在创建该程序时自动生成的。
图 显示工程菜单资源
(4)要删除某个菜单项或弹出菜单,可用鼠标单击该菜单或用上下光标键来回选择,然后按Del键删除。
(5)要插入新菜单项,可选定窗口中的空白菜单框后按回车(或直接用鼠标双击该空白框),Visual Studio弹出Properties(属性)对话框。属性对话框用于输入菜单项的标题、标识符、菜单项在状态栏上显示的提示(Prompt),并为该菜单提供属性调整。也可以在选择一个已有的菜单项时按Ins键,以在该菜单项上方插入一个空白菜单项,然后双击该菜单项进行编辑。要插入一个分隔线,只需将菜单项的Seperator属性打开即可,如图所示。
图 增加一个分割线
双击空白框,Visual Studio弹出菜单Properties对话框,在ID的下拉列表中选择ID_EDIT_FIND,即将该菜单绑定到ID_EDIT_FIND,即可实现查找功能。
图 增加一个查找菜单
图增加替换菜单
图 增加全选菜单
图 增加时间/日期菜单
为了能够实现编辑区的代码编译链接,增加一个程序的顶层菜单,并增加一个编译链接的子菜单,如图所示。
图 增加一个程序顶层菜单
图 增加编译链接子菜单
在CCEditPadView类中为编译链接菜单增加消息映射函数OnComplie,如图所示。
图 增加菜单Command映射函数
图 CCEditPadView类函数列表
3.2.3程序框架实现
为了模仿VC的输出框,引用开源的SIZECBAR类。首先将类的头文件和源文件拷贝到工程文件夹中,如图所示。
图 将文件拷贝到工程文件夹中
将文件添加到工程中,如图所示。
图 Add Files to Projects
图 Insert Files into Project
图 增加ID_WNDOUTBAR的StringTable
在CMainFrame类中增加编译输出条,首先在类中增加mybar类头文件和定义对象m_CtrlBar,然后在类的OnCreate函数中将其创建出来,如图所示。
图 包含头文件并增加对象
图 产生m_CtrlBar对象
//产生程序的输出窗口
if(!m_CtrlBar.Create(程序输出,this,CSize(100,100),TRUE,ID_WNDOUTBAR))
{
TRACE0(Failed to create outbar\n);
return -1; // fail to create
}
m_CtrlBar.SetBarStyle(m_CtrlBar.GetBarStyle() |
CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNA
您可能关注的文档
最近下载
- 【交通运输类】浙江省汽车维修行业工时定额和收费标准浙江省交通厅浙江省物价局精编.pdf VIP
- TD-JZ2006-6001西南设计院预埋件图集.pdf
- 01J925 1 压型板屋面.PDF VIP
- 视听语言 镜头运动.pptx VIP
- 广州市白云区广大附中实验中学2022-2023学年上学期期中调研八年级物理问卷.docx VIP
- JB∕T 5317-2016 环链电动葫芦.pdf VIP
- 广东省广州市白云区广大附中实验中学2022-2023学年八年级上学期期末线上考试语文试卷.doc VIP
- 风电机组专项隐患排查治理记录表.doc VIP
- 风电机组专项隐患排查治理记录表自查.pdf VIP
- 工厂生产管理制度(3篇).docx VIP
文档评论(0)