Press "Enter" to skip to content

Tag: Win32

开发文本编辑器学习笔记

第一部分 Introduction

虽然教程的标题是说设计并实现一个文本编辑器,但实际上我们主要是讲如何开发作为一个文本编辑器前端的编辑控件(edit control),当然我们也要写一个小的完整程序来测试这个自定义的控件,而这个完整程序的功能不会超过Windows自带的NotePad。

自定义编辑控件

SDK已经提供一些编辑控件,像edit 和 rich-edit controls,但这编辑控件功能都有限,开发自定义控件目的都是要实现自己想的功能的控件。 无论开发什么样的软件或软件组件(像现在的自定义控件),第一步必须明确软件要实现什么样的功能,这里强调清晰和明确的功能,最好用文字写下来,因为初始设计对最终软件的实现有着重大的影响。本教程的自定义编辑控件有如下的功能:

  • 第一,对文件没有大小限制,并且在对大文件进行行式编辑时对性能影响很小甚至没有影响;
  • 第二,快速和流畅的(图形)显示。包括文本匡选和编辑屏的滚动(scrolling)时的快速和流畅;
  • 第三,语法着色;
  • 第四,剪贴板和拖放操作的支持;
  • 第五,单一字体;
  • 第六,撤消和重做的支持;
  • 第七,对ASCII, Unicode 和 UTF-8 的兼容。