windows sdk 编程系列文章 ---- RichEdit 控件基础知识之一
由于 RichEdit 的信息量相当相当的大,所以我将它分成了几个部分,本篇是第一部分。
在这篇里,你将会了解到什么是 RichEdit 控件,怎样创建它,怎样往里面载入数据和保存里面
的数据。
理论:
RichEdit 提供了普通简单 Edit 控件所缺少的很多令人合意的功能,譬如可以使用多种字
体和字体大小,多级 Undo/Redo,文本搜索,内嵌 OLE 对象,编辑的拖放支持等等。由于
RichEdit 控件有这么多功能,因此它独存于一个单独的 DLL 文件。这个意味着如果你要使用
RichEdit 控件,就不能象使用其他普通控件那样只调用 InitCommonControls 函数。你必
须先使用 LoadLibrary 来载入 RichEdit DLL 文件。
这里有个问题,就是至今为止 RichEdit 控件共有 3 个版本,版本 1,2 和
3。下面的表格显示了每个版本的相应的 DLL 文件名。
DLL Name
RichEdit
version
Richedit Class
Name
Riched32.
dll
1.0 RICHEDIT
RichEd20.
dll
2.0 RICHEDIT20A
RichEd20.
dll
3.0 RICHEDIT20A
你会注意到版本 2 和 3 都使用了相同的 DLL 文件名,而且它们也使用了相同的类名!这样
在你想要明确的使用 RichEdit 3.0 的功能的时候就会产生问题. 到目前为止,我还未找到一个正
式的方法来区分版本 2.0 和 3.0。不过,有个解决方法工作良好,我会在后面演示给你看。
hRichEdit = LoadLibrary(RichEditDLL);
......
FreeLibrary(hRichEdit);
当 Richedit DLL 文件被载入时,它会注册 RichEdit 窗口类,因此需要在你
创建 Richedit 控件之前必须先要载入 DLL.Richedit 控件的类名是不同的。现
在你可能会有一个问题要提:我怎么样才能够知道我要使用哪个版本的
Richedit 控件?如果你不需要使用那些特别的功能,使用最新的版本也不定是最
适宜的.下面的表格列出了每个 RichEdit 版本提供的功能.
功能 版本 1.0 版本 2.0 版本 3.0
选择条
x x x