原文地址:http://www.uieasy.com/cn/blog/?p=426
ekRichEdit工程使用C++编写,同时使用ATL部分类库,可以在MFC,WTL/ATL等工程中使用。ekRichEdit编译后产生静态库,在主程序中链接即可。本篇文章主要描述ekRichEdit主要类库的使用。
ekRichEdit主要类及关系图示如下:
主要类库描述如下:
ekSubclassWnd :
基类,主要提供类似MFC中CWnd功能,基本消息映射处理。目前提供部分消息处理,用户可以根据需要添加更多的基本函数处理,如MoveWindow等。
ekRichEdit:
此类为核心类,主要提供对RichEdit win32 api的封装,插入图片,文本,链接等函数。剪贴板相关操作也在此类中完成。同时实现IRichEditOleCallback接口,用户获取RichEdit控件相关回调。
ekRichEditChatLog:
此类继承于ekRichEdit,适用于IM中的聊天历史记录RichEdit窗口。主要提供写消息,插入表情,插入其他图片(错误,等待等图片)。
ekRichEditChatMsg:
此类继承于ekRichEdit,适用于IM中的编辑窗口。主要提供对窗口中输入的信息编辑等。
ekImage:
此类用于图片加载,使用GDI+解析图片。为内部使用类,用户一般不需要修改。
ekImageShow:
此类用于显示RichEdit的一个图元对象,即显示图片或者gif动画。为内部使用类,用户一般不需要修改。
ekDataObject:
实现IDataObject的数据对象类,为内部使用类,用户一般不需要处理。
ekHelper:
提供静态工具类函数。
ekSettings:
提供Ini文件读写处理。