第三章-C语言编辑器设计与实现(共15页).doc
《第三章-C语言编辑器设计与实现(共15页).doc》由会员分享,可在线阅读,更多相关《第三章-C语言编辑器设计与实现(共15页).doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上第三章 单文档应用程序在本学习情境中主要学习:(1)CEditView的使用(2)TC环境配置与TCC的使用(3)文件的读写操作(4)顶层菜单、快捷菜单和图标区菜单的使用(5)工具栏、状态栏的使用3.2C语言编辑器设计与实现3.2.1C语言编辑器框架生成在标准的SDI应用程序向导中,CXXXView类的基类是CView类,在设计C语言编辑器中可以将基类修改为CEditView,如图所示。图 新建CEditPad工程图 选择单文档应用程序框架图 修改CCEditPadView类的基类为CEditView单击Finish按钮,完成工程的创建。编译、运行程序,如图所示。图
2、程序运行结果在工程的ResourceView中,可以将程序的图标换掉,默认情况下如图所示。图 工程默认图标(1)将想要更换的图标拷贝到工程res文件夹中,删除掉原来的NotePad.ico文件,将自己的ICON图标命名为CEditPad.ico即可。(2)或者使用Import菜单,将想要更换的图标导入到工程中,如图所示。删除原来的IDR_MAINFRAME图标,将自己的图标命名为IDR_MAINFRAME即可。图 导入工程图标3.2.2程序菜单设计菜单是windows应用程序中非常重要的人机界面,是用户与应用程序之间进行交流的主要方式之一,也是用户界面对象中的一个最重要的对象。菜单是一系列命令
3、的列表,用户能够选中其中的菜单命令并执行相应任务。仍然使用我们前面生成的NotePad程序,编辑由AppWizard自动生成的菜单资源。要编辑菜单资源:(1) 选择项目工作区的ResourceView标签,切换到资源视图。(2) 选择菜单资源类型。(3) 选定菜单资源IDR_MAINFRAME,双击该项或单击鼠标右键然后在弹出菜单中选择Open选项。Visual Studio将弹出菜单编辑窗口,显示菜单资源IDR_MAINFRAME,其中IDR_MAINFRAME是由AppWizard在创建该程序时自动生成的。图 显示工程菜单资源(4)要删除某个菜单项或弹出菜单,可用鼠标单击该菜单或用上下光标
4、键来回选择,然后按Del键删除。(5)要插入新菜单项,可选定窗口中的空白菜单框后按回车(或直接用鼠标双击该空白框),Visual Studio弹出Properties(属性)对话框。属性对话框用于输入菜单项的标题、标识符、菜单项在状态栏上显示的提示(Prompt),并为该菜单提供属性调整。也可以在选择一个已有的菜单项时按Ins键,以在该菜单项上方插入一个空白菜单项,然后双击该菜单项进行编辑。要插入一个分隔线,只需将菜单项的Seperator属性打开即可,如图所示。图 增加一个分割线双击空白框,Visual Studio弹出菜单Properties对话框,在ID的下拉列表中选择ID_EDIT_F
5、IND,即将该菜单绑定到ID_EDIT_FIND,即可实现查找功能。图 增加一个查找菜单图增加替换菜单图 增加全选菜单图 增加时间/日期菜单为了能够实现编辑区的代码编译链接,增加一个程序的顶层菜单,并增加一个编译链接的子菜单,如图所示。图 增加一个程序顶层菜单图 增加编译链接子菜单在CCEditPadView类中为编译链接菜单增加消息映射函数OnComplie,如图所示。图 增加菜单Command映射函数图 CCEditPadView类函数列表3.2.3程序框架实现为了模仿VC的输出框,引用开源的SIZECBAR类。首先将类的头文件和源文件拷贝到工程文件夹中,如图所示。图 将文件拷贝到工程文件
6、夹中将文件添加到工程中,如图所示。图 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
7、 outbarn);return -1; / fail to createm_CtrlBar.SetBarStyle(m_CtrlBar.GetBarStyle() | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);m_CtrlBar.EnableDocking(CBRS_ALIGN_ANY);EnableDocking(CBRS_ALIGN_ANY);DockControlBar(&m_CtrlBar,AFX_IDW_DOCKBAR_BOTTOM);在mybar类中增加用于接收输出的编辑框对象m_wndOutPut,并定义其UID,如图所示。
8、图 定义m_wndOutPut对象和UID在mybar类的OnCreate函数中生成对象,并在OnSize函数中设置其大小,如图所示。图 生成m_wndOutPut对象/创建程序的输出窗口if(!m_wndOutPut.Create(WS_CHILD | WS_VISIBLE | ES_MULTILINE | ES_WANTRETURN ,CRect(0,0,0,0),this,ID_EDITCTRL)TRACE0(Failed to create OutPut windown);return -1; / fail to create图 设置编辑框大小/设置编辑框的大小与myBar窗口大小一致
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 语言 编辑器 设计 实现 15
限制150内