问题标签 [richedit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - 在 RichEdit 中检测 URL 的点击
我正在尝试更新 RichEdit,以便它检测 URL 并启用单击它以在浏览器中打开。检测 URL 很容易,我只使用来自http://www.scalabium.com/faq/dct0146.htm的以下代码
但第二部分对我不起作用。他们提供以下代码来捕获 EN_LINK 消息并对其进行处理:
当我运行该程序时,会检测到 URL,但单击它不会执行任何操作。使用调试我发现当我单击 URL 时 Message.Msg = WM_NOTIFY 不正确。然后我尝试覆盖 TRichEdit 的 WndProc,但结果是一样的。有什么建议么?
windows - RichEdit 的 EM_AUTOURLDETECT 消息并不总是发送
为了描述这个问题,您最好使用以下用例测试我的应用程序:
应用程序:http ://ubuntuone.com/p/nF/
- 打开应用程序;
- 单击“>”标题按钮;
- 再次单击相同的按钮;
- 再次单击相同的按钮。
如您所见 - 在第一次扩展中正确检测到 URL,但在任何进一步扩展中都没有。
希望在您的帮助下解决此问题:)
目前,每次展开对话框时我都会发送 WM,但它仍然无法正常工作......
展开/折叠按钮代码片段:
在表单 OnCreate 事件中:
正如http://msdn.microsoft.com/en-us/library/bb787991%28VS.85%29.aspx文档所述,通过文本修改检测 URL,这意味着重新调用检测的唯一方法是发送某种消息添加/删除字符,但是:
按下键盘上的键后立即检测到 URL,并且只检测到 INSIDE 行。可能的修复将非常讨厌,因此我什至不认为为此开发代码 sinpp :) 想法:通过所有可用字符 Lopp,例如,添加 Char(#10) 然后删除 Char(#10)。缺点:想象一下 RichEdit 控件内的大型 RTF 文本会发生什么...
winapi - RichEdit、winapi - 段落对齐
我想让一条线以这种方式对齐,一些第一个词左对齐,一些最后一个词右对齐,但都在同一行:
那可能吗?我怎样才能做到这一点?
delphi - Delphi:通过滚动在 TRichEdit 中居中特定行
我有一个 Delphi 2007 TRichEdit,里面有几行。我想垂直滚动richedit,以使特定的行号大约位于richedit的可见/显示区域的中心。例如,我想在这个例子中为 CenterLineInRichEdit 编写代码:
我研究了使用 WM_VSCROLL 消息,它允许向上/向下滚动一行等,但不能滚动到特定行的中心。
richedit - riched32.dll 或riched20.dll 源代码
riched32.dll 或riched20.dll 的源代码是否在某处可用
如果不是 - 如果我想创建一个行为略有不同的 Richedit 文本字段,我该怎么办(比如更改滚动条的控件,这样我就可以从外部更改它们的大小和位置)
谢谢
richedit - RichEdit 控件:确定何时更改文本?
我正在尝试计算给定 RichEdit 控件中文本更改的次数。我考虑过使用诸如按下键之类的事件,但是当您考虑不更改文本的键(如箭头、向上翻页等)时,这会变得很混乱。以及如何确保获得所有这些密钥?
如果一个事件存在,注册一个事件的回调似乎会更简单onTextChanged
。有没有办法做这样的事情?
delphi - 如何禁用拖放 TRichEdit 或 TRzRichEdit
如何阻止 TRichEdit 中的拖放?delphi 代码我使用 Rich Edit 并在阻止拖放功能方面遇到困难,特别是从表单外部拖动文本让我们说从 IE 到我的 RichEdit。
c++ - VS2010中MFC模板项目的难点
我正在使用 Visual Studio 2010 来试验 MFC。
我按照向导创建了一个模板 MFC 项目。我选择了一个基于对话框的应用程序,并取消选中其他选项,如 ActiveX 控件。
没有进行任何代码更改后,我按 F5,应用程序运行。
然后,使用表单设计器,我将一个富编辑控件从工具箱拖到应用程序上。我再次按 F5,应用程序编译但立即以错误代码 0 退出。
为什么会发生这种情况?我究竟做错了什么?
这是包含 RichEdit 时的输出:
发生所有这些加载错误有点可疑。但是,如果出现问题,为什么它会以错误代码 0 退出?
这是成功运行的输出。加载失败仍然发生:
更新我删除了 RichEdit,并添加了这些其他控件,它工作正常:
- MFC VSListBox 控件
- 列表控件
- MFC 链接控制
- 网络地址控制
Tangent : 为什么 RichEdit2 是表单生成器中唯一可用的 RichEdit?(我在 Windows 7 上使用 VS 2010)
delphi - 如何在 Delphi 中获取 RichEdit 的文本范围
有谁知道如何在 TRichEdit 控件中获取文本的宽度和高度,就像在 TCanvas 上使用 TextWidth 和 TextHeight 一样?
我需要知道这样做的原因是我在一个不可见的表单上有一个 RichEdit,我使用 Richedit.Perform(EM_FORMATRANGE, ...) 将其内容复制到画布。问题是 EM_FORMATRANGE 需要一个 TFormatRange 类型的参数,其中指定了目标矩形,但我不知道矩形应该是什么,因为我事先不知道 RichEdit 中内容的大小。希望这是有道理的。
mfc - 什么是文本对象模型中的“故事”?
本文档描述了 RichEdit 和 ITextDocument,它们是 MFC 的一部分。RichEdit 使用 TOM 或文本对象模型。该文档反复提到“故事”:
GetStoryCount 属性获取方法检索此文档中的故事数。
GetStoryRanges 属性获取方法检索用于枚举文档中的故事的故事集合对象。
在文档的其他地方,它是文档的度量单位,其进程如下:
字符>单词>句子>段落>故事>页面
但究竟什么是故事?