文档介绍:MC998 集成开发环境(IDE)中
编辑器的设计
朱暖华
(信息工程学院计算机科学与技术专业)
随着电脑技术的发展,掌上电脑(PDA)也已成为我们生活中的一部分。MC988 就是
一种掌上电脑,他的操作系统是 Unix 的嵌入式操作系统。若要在 MC998 上实现一定的任
务,就必须用到 Unix 的编译系统(例:GNU C)。
Unix(或 Linux)没有 WINDOWS 使用起来友善和方便。为了让 WINDOWS 程序员可
以对 MC998 进行编程,我们就准备开发出基于 MC998 的一套集成环境开发系统(IDE)。
这个集成环境是可以运行在 WIN9X/NT,他的操作完全是 WINDOWS 的形式。具有友好的
操作界面,使用起来就象 MS VISUAL C++一样。本文介绍这套集成环境开发系统中编辑器
的设计和开发。
二. 技术原理
该编辑器是作为 MFC(Microsoft Foundation Class Library)的一个标准类库,MFC 是
Microsoft Foundation Class 的缩写,即 Microsoft 基础类库,MFC 库中的所有类形成了建立
应用程序的框架,利用这些类可以充分支持 Windows 应用程序开发。MFC 封装了 Windows
应用程序的接口(API)函数、数据结构和宏,并以对象的形式提供给程序员。他充分利用
了面向对象技术的数据抽象特性,利用他可大大简化 Windows 编程过程,提高编程效率。
CEIDTVIEW 类的特点
CEDITVIEW 类提供了一个简单的多行编辑器的视图。他有许多可调用的函数。因为
CEDITVIEW 是继承于 CVIEW 类的,所以,他可以被用在文档或者文档类型的系统中。每
个 CEIDTVIEW 的文档内容,都存放在一个公共的内存中。只要用 CEditView 类的
GetEditCtrl()函数,就可以返回 CEditCtrl 对象。所以,可以通过 CEDIT 中的函数,实现对
文档的内容进行管理。
虽然 CEDITVIEW 可以通过 GetEditCtrl()函数实现对文档的操作。但若需要做编辑器的父
类,还须对文档中的字体属性进行控制。这一点对 CEDITVIDW 来说是一个致命的缺陷。
因为在 CEDITVIEW 中,显示在屏幕上的文字是通过 OnChar()函数实现的。对于 MFC
来说,这一部分已经被封装在 dll(dynamic-link library)。所以,在 CEDITVIEW 中是没有
办法改变字体的属性。可以肯定,在 CEDITVIEW 中实现编辑器的功能比较麻烦。能不能
具有可以改变字体属性,而且所有具有编辑功能的类可作为继承类的类呢?这就是
CRichEditView 类。
CRICHEDITVIEW 类的特点
类 CRICHEDITVIEW 供用户输入和编辑已有格式的文本,在 CRICHEDITVIEW 中还可
以嵌入 OLE OBJIECT。其特点有:
1 实现字体属性的改变。
2 确定光标当前位置。
在光标移动的时候,必须要知道光标的当前位置,这样才可以进行关键词的匹配。在类
CRICHE