关于RichEdit的一些小总结(不断更新)

简介: 是的,我的做法就是插入一个RTF字符串!MsftEdit应该内部有对RTF格式字符串的管理类,RichEdit里面的数据,我们一般很难触碰到的,就算能触碰到,要去进行修改和读取也不是容易的事情,这绝对是一个不合算的事情。
1.插入自定义超链接
    对于编辑框中的超链接,我们会有如此的需求:点击超链接响应消息,并弹出一个菜单或者窗口。RichEdit2.0给我们提供了CFM_LINK和CFE_LINK用于超链接,但是非常遗憾的是它不能用于自定义超链接。经过了我许多次的尝试的失败告诉我,RichEdit2.0实际上无法实现这个需求。
    后来,我发现要实现这一个需求一个DLL:MsftEdit Version 5.0。QQ、淘宝旺旺、百度hi……他们都用的它。
    不过,当你想要去进入这些程序的目录下拷出来这个dll的时候,你会发现你找不到这个DLL!为什么呢?因为他们都把它改名了,改成了RICHED20.DLL!是的,你需要把它拷出来就是了!真正的Richedit20.dll实际上只有四百多kb,而用MsftEdit改名的这个dll却有九百多kb。
    好了,现在我把它拷贝到了我的应用程序目录下了,接下来如何做呢?我们需要以下这个方法:
CString BuildRtfHyperLink( CString strText, CString strUrl )
{
    CString strRtf;
    strRtf.Format( TEXT("{\\rtf1\\ansi\\ansicpg936\\deff0\\deflang1033\\deflangfe2052{\\fonttbl{\\f0\fnil\\fprq2\\fcharset134 \\'cb\\'ce\\'cc\\'e5;}} {\\colortbl ;\\red0\\green0\\blue255;\\red255\\green0\\blue255;}\\viewkind4\\uc1\\pard{\\cf1\\ul\\f0\\fs18\\lang2052{\\field{\\*\\fldinst{HYPERLINK \"%s\" }}{\\fldrslt{%s}}}}\\cf2\\f0\\fs20\\lang1033}"),
        strUrl, strText);
    return strRtf;
}
    怎样?看得很晕是吧?这个方法是构建一个RTF的超链接字符串用的。是的,我的做法就是插入一个RTF字符串!MsftEdit应该内部有对RTF格式字符串的管理类,RichEdit里面的数据,我们一般很难触碰到的,就算能触碰到,要去进行修改和读取也不是容易的事情,这绝对是一个不合算的事情。能使用它内部的系统来达成我们的需求目的是最好不过。真好!MsftEdit给我们提供了这个工具!
    我们只需要用上面的方法构建并且插入就可以,非常Easy,是吧?
目录
相关文章
|
4月前
|
存储 前端开发 JavaScript
前端技术趋势:在动态变化中寻求稳定
【10月更文挑战第7天】前端技术趋势:在动态变化中寻求稳定
78 0
|
4月前
|
开发者
探索未知,拥抱变化——我的技术之旅与哲学思考###
在技术的浩瀚星海里,每一个代码片段都是探索未知的航标。本文不仅是一次技术的回顾,更是一场关于成长、挑战与自我超越的深刻对话。通过分享个人的技术学习历程,我希望能激发每位读者心中对未知的好奇与渴望,共同踏上这场充满奇迹与挑战的旅程。 ###
|
9月前
|
JavaScript 前端开发 开发者
跟踪最新的JavaScript游戏开发技术趋势需要多方面的努力和参与
【5月更文挑战第14天】跟踪JavaScript游戏开发趋势:访问专业网站和博客(如Medium, GameDev.net),参加JSConf和GDC会议,订阅技术期刊,关注开源项目(如Phaser, Three.js),利用社交媒体(Twitter, Reddit)和在线论坛(Stack Overflow),学习新技术(如WebGL, WebAssembly)。通过这些方式保持对行业动态的敏锐度。
51 4
|
9月前
|
机器学习/深度学习 人工智能 算法
谷歌发布全新时间感知框架,对抗概念飘逸难题
【2月更文挑战第13天】谷歌发布全新时间感知框架,对抗概念飘逸难题
90 3
谷歌发布全新时间感知框架,对抗概念飘逸难题
如何彻底的理解需求,做出更好的软件
如何彻底的理解需求,做出更好的软件
79 0
|
9月前
|
程序员 测试技术
程序员难以一次性写好代码并持续修复Bug,主要源于软件的高复杂性、需求不确定性、测试局限性和技术能力限制。
【5月更文挑战第11天】程序员难以一次性写好代码并持续修复Bug,主要源于软件的高复杂性、需求不确定性、测试局限性和技术能力限制。复杂的系统易产生意外问题,需求变化导致初始设计难完备,测试无法覆盖所有情况,而技术更新和个体能力差异也会引入错误。因此,持续调试和优化是保证软件质量的关键步骤。
86 0
|
9月前
|
人工智能
拥抱不确定性:在技术迭代中寻找创新的灵感
【4月更文挑战第30天】 在快速变化的技术世界里,不确定性并非是障碍,而是推动我们前进的力量。本文将探讨如何在技术的不断进化中捕捉灵感,并将其转化为创新成果。我们将通过分析技术进步的模式、心理层面的适应机制以及实践中的策略,来揭示如何在不确定性中找到成长和成功的机会。文章的核心在于鼓励技术人员培养一种开放的心态,学会在变革中寻找机遇,从而不断推动个人和行业的边界。
|
缓存 前端开发 JavaScript
近期对前端性能优化的总结
近期对前端性能优化的总结
148 1
|
Oracle 关系型数据库 Java
一些开发或使用软件过程中的经验(不断更新)
一些开发或使用软件过程中的经验
186 0
|
网络协议 关系型数据库 Linux