最近写一个类似于QQ的聊天对话程序,需要在RichEdit控件中插入一些表情符号,很感谢那些在网络上公布源码的大侠们,让我学到很多。我主要看的是一篇重载CRichEditCtrl类的文章,把CRichEditCtrl类重载成CRichEditCtrlEx类,并添加了一些函数,具体定义如下,网上上应该很多人都看过这篇文章。
------------------------
以下为引用部分
------------------------
主要功能用CRichEditCtrl实现,像设置字体,设置字体颜色,字号等等CRichEditCtrl都提供了很完善的支持,我就不一一赘述了。CRichEditCtrl 主要的不足在于以下几个方面:(1).没有右键菜单
(2).不能插入图片(这是实现转义字符显示的关键)
(3).RTF格式输入输出不够方便(涉及到回调函数的递归调用)
我扩展了CRichEditCtrl类CRichEditCtrlEx实现了上述功能.参考了很多网上的文章,对所有公开源码的开发人员表示崇高的敬意!!2、实现右键菜单:
void CRichEditCtrlEx::OnRButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
//设置为焦点
SetFocus();
//创建一个弹出式菜单
CMenu popmenu;
popmenu.CreatePopupMenu();
//添加菜单项目
popmenu.AppendMenu(0, ID_RICH_UNDO, "&Undo");
popmenu.AppendMenu(0, MF_SEPARATOR);
popmenu.AppendMenu(0, ID_RICH_CUT, "&Cut");
popmenu.AppendMenu(0, ID_RICH_COPY, "C&opy");
popmenu.AppendMenu(0, ID_RICH_PASTE, "&Paste");------------------------------
引用部分完
-----------------------------
以上是我粘贴的部分代码,我现在面临的问题是,插入这些图标后,在此控件中拷贝粘贴一般性文字可以,但是,却不能拷贝粘贴图标内容,而QQ聊天对话框中是可以粘贴拷贝图标内容的。请高手给予指点,先谢谢了!
------------------------
以下为引用部分
------------------------
主要功能用CRichEditCtrl实现,像设置字体,设置字体颜色,字号等等CRichEditCtrl都提供了很完善的支持,我就不一一赘述了。CRichEditCtrl 主要的不足在于以下几个方面:(1).没有右键菜单
(2).不能插入图片(这是实现转义字符显示的关键)
(3).RTF格式输入输出不够方便(涉及到回调函数的递归调用)
我扩展了CRichEditCtrl类CRichEditCtrlEx实现了上述功能.参考了很多网上的文章,对所有公开源码的开发人员表示崇高的敬意!!2、实现右键菜单:
void CRichEditCtrlEx::OnRButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
//设置为焦点
SetFocus();
//创建一个弹出式菜单
CMenu popmenu;
popmenu.CreatePopupMenu();
//添加菜单项目
popmenu.AppendMenu(0, ID_RICH_UNDO, "&Undo");
popmenu.AppendMenu(0, MF_SEPARATOR);
popmenu.AppendMenu(0, ID_RICH_CUT, "&Cut");
popmenu.AppendMenu(0, ID_RICH_COPY, "C&opy");
popmenu.AppendMenu(0, ID_RICH_PASTE, "&Paste");------------------------------
引用部分完
-----------------------------
以上是我粘贴的部分代码,我现在面临的问题是,插入这些图标后,在此控件中拷贝粘贴一般性文字可以,但是,却不能拷贝粘贴图标内容,而QQ聊天对话框中是可以粘贴拷贝图标内容的。请高手给予指点,先谢谢了!
http://www.codeguru.com/Cpp/controls/richedit/article.php/c2417/
其实您给我看的这篇文章正是我所摘抄文章的“原始文章”,当然,它同样出现我文章中所出现的问题。不过,还是很感谢您!
还有,我发现如果继承CRichEditView类就不会出现类似问题,可是,我现在需要的必须是继承CRichEditCtrl类的,郁闷中