用VC++设计语法编辑器

2016-01-29 12:16 9 1 收藏

用VC++设计语法编辑器,用VC++设计语法编辑器

【 tulaoshi.com - C语言心得技巧 】

用VC++设计语法编辑器

作者:ZhengXu

下载源代码

  语法编辑器是一个可以对程序设计语言进行语法编辑的文本编辑器,它对程序设计语言进行语法关键字进行加亮处理,如注释行、字符串、语法关键字、数字等,这样使得源程序更容易阅读,VB、VC++、DELPHI 等开发环境都提供了语法编辑功能,相信开发人员都会有切身的体会。
  本文将讲述如何用VC++设计一个语法编辑器,因为源程序较长,本文并不打算列出详尽的代码,而是指出语法编辑器的设计思路,在本文最后附有一个演示程序的下载网址,感兴趣的朋友可以下载试用。
  设计语法编辑器有多种方法,笔者准备用最简单的方法实现这一功能。我们知道Windows提供了Rich Edit控制,这是一个强大的编辑器,Windows的写字板用的就是这一控制。从它着手,我们不仅可以设计出语法编辑器,还可同时获得它强大的编辑能力。Rich Edit 的支持文件是riched20.dll这个动态链接库,它的MFC接口是 CRichEditCtrl,其对应的视类是 CRichEditView。CRichEditView 提供了一个 SetCharFormat 方法,可能在设计时首先考虑的就是如何利用它进行设计,但是根据笔者的试验,用这个方法效率很差,特别是对 C++ 这种有多行注释的语言。我们将换一个思路,为了更好的理解本文计述的设计思路,我们先来做一个试验:
  先用VC++生成一个单文档工程,假设其名为MyProject,在工程向导的最后一步即第六步,将视类的基类从 CView 改为 CRichEditView。生成工程后,我们用工程向导添加工程视类 CMyProjectView的 WM_PAINT 消息处理函数,但是在该函数中不添加任何代码,也就是什么也不做。现在编译执行,我们看到的是一个感觉设计拙劣的编辑器,它的内容窗口显示的内容完全不对,当然这很自然,因为我们在 OnPaint 中什么也没有做,所以它并不重绘窗口。我们从其它地方复制一段文本,将它粘贴到这个拙劣的编辑器中,似乎没有反应?现在拖动鼠标,你将看到有黑色选择区域出现,感悟到什么没有?是的,这个拙劣的编辑器中好象有文本存在,虽然我们不知道究竟是什么文本!做进一步的试验,试着用 CRichEditCtrl 的 GetLine 方法去取窗口中的文本,你将得到刚才那些看不到的文本!然后我们就可以在同样的位置绘出这些文本,Rich Edit将恢复它的本来面貌!如果我们对取得的这些文本进行分析,将特定的文本用特定的颜色绘出,这不就是梦想中的语法编辑器吗?
  为了让编辑器的内容显示正常,必须使文本的绘制与编辑器的默认行为精确的一致,这要求绘出的文本要与编辑器本身的文本位置相同,否则会出现文本错位的错误。这需要注意两个问题:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com) 一、因为Rich Edit是精确精滚动的,也就它的第一行可能只显示出一半来,所以必须计算好第一行的top位置; 二、Rich Edit的TAB字符的问题,TAB代表的宽度不是一成不变的,而是根据字符数不断调整的。在写字板中输入文本,你可以观察到这一情况。

本文链接地址:http://www.easysrc.com/用VC++设计语法编辑器.rtf

源码下载地址:http://www.easysrc.com/synedit.rar

网站:http://www.easysrc.com

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

来源:http://www.tulaoshi.com/n/20160129/1485331.html

延伸阅读
虾米编辑器如何使用   虾米编辑器使用帮助 歌曲、Flash、表情、超链接,随便来添加吧! 先让虾小米来示范一下吧: 先来用一下比较炫的添加歌曲功能,点击 按钮,在弹出窗口输入框中输入你要添加的歌曲名,点击搜索,选中歌曲,添加就可以了呢!如图: 歌曲添加完成了,加个表情吧来表达下心情吧。点: ,嘿嘿...
如何使用135编辑器   ▼135编辑器中的样式换色方式有:全文换色、部分换色 全文换色 1. ctrl+a,选中全文 2. 点击任意需要的颜色; 3. 编辑框中所有内容的颜色则全部换色(注:文字颜色需使用字体颜色来换色) 部分换色 1. 点击样式内的任意区域,出现虚线框 2. 点击中的颜色即可
在Windows开发中弹出对话框是一种常用的输入/输出手段,同时编辑好的对话框可以保存在资源文件中。Visual C++提供了对话框编辑工具,利用编辑工具可以方便的添加各种控件到对话框中,而且利用ClassWizard可以方便的生成新的对话框类和映射消息。 首先资源列表中按下右键,可以在弹出菜单中选择“插入对话框”,如图1。 ...
word公式编辑器使用视频 打开文档 1、打开Word文档,单击“插入”→“文本”→“对象”。 找到对象 2、在“对象”栏内拖动滑块找到“Microsoft公式3.0”选中并按“确定”。 填写公式 3、这时候就会弹出公式编辑器了,我们就可以填写了,如图所示。 相关阅读: 怎么使用word制作标题折叠
标签: 电脑入门
RT,突然莫名其妙出现这个问题,点击公式编辑器上的符号后,如等号,显示了一个汉字,其它符号也很多这样的情况而且是一些乱七八糟不认识的汉字。重新下载安装后依然如此。在样式--定义---符号中选择其它的类型也解决不了。这?中毒了? 不会传图,见谅 出现描述中的问题,初步推测可能是由于您的电脑系统字库中缺少相应的字体导致的,您不妨对...

经验教程

612

收藏

73
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部