我的问题是delphi progies在windows(xp和xp之前的版本)中吓死的丰富编辑。
情况:
我在表单的创建中添加了em_autourldection。目标->RichEdit1。然后,我有一个表单,在显示表单之后是“折叠”的。richedit控件是状态的、可见的和启用的,但它是“隐藏的”,因为窗体窗口已折叠。
我可以展开和折叠表单,使用Button1并更改表单约束和大小属性。
在我第一次展开表单后,richedit1控件中的url将突出显示。但是,在第二,第三,第四等之后…当我折叠和展开表单时,richedit1控件不再突出显示url。
我试过em_settextmode消息,还有wm_updateistate,还有基本的wm_文本消息->不走运。像这样的merssage在发送键盘笔划(虚拟键盘代码)时确实有效(启用检测),但在文本被修改时不起作用。
另外-我正在考虑重写代码以使richedit控件动态。这能解决问题吗?
也许解决方案是重写onpaint/ondraw方法,以避免在折叠或展开表单时丢失突出显示(格式设置)?
奇怪的是,我的embarcadero文档说这个函数必须在文本被修改的任何时候都能工作。为什么不起作用?
感谢任何帮助。我创建这个社区wiki是因为这是一个常见的问题,我们可以找到解决方案,对吧?:)
另外-后续行动和相关问题:
Override OnPaint
How to autodetect urls in RichEdit 2.0?
http://www.vbforums.com/archive/index.php/t-59959.html