问题标签 [trichedit]
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 - 增加 TrichEdit 的大小/限制?
我在使用 TRichEdit 时遇到了一些问题。
第一个问题是如果我尝试将剪贴板中的大量文本粘贴到一个空的 TRichEdit 中,它会截断文本的底部。
第二个问题,我猜想与第一个问题有关,我似乎受限于 TRichEdit 可以显示的字符数,因此从剪贴板粘贴会丢失一些数据。
如果我粘贴到 TJvRichEdit (Jedi) 中,效果很好,显然因为这是一个完全不同的组件。
此时此刻,我想要一个 TRichEdit 的解决方案,因为我正在使用很多程序/函数等,如果我更改为不同的 Rich Edit 类,那么我将不得不编辑很多代码才能工作。
所以基本上我要问的是:
- TRichEdit 有限制吗?我确信有。
- 如何增加 TRichEdit 的限制以接受更多字符和行等。
请仅为 TRichEdit 提供建议/解决方案。
编辑
没关系使用以下方法找到答案:
delphi - 从 D2005 升级到 D2010 : TRichEdit
以下代码在 D2005 上运行良好:
但在 D2010 中,此代码以纯文本而不是 rtf 格式输出文本。
为了解决我正在使用以下代码的问题
如何将 rtf 文本从数据库导入 TRichEdit,而无需在此过程中使用文件?我尝试了 这个问题的解决方案, 但它不起作用,它以纯文本显示,每个字符之间有一个空格。
谢谢山姆
delphi - 如何更改 TRichEdit 中某些字符的颜色?
我正在做一个 Delphi 7 项目,我必须让用户输入一个数字(层向下)来构建一棵圣诞树,但我还需要将输出显示为*
(星号)。我在编辑 TRichEdit 中的某一行星星时遇到问题,以使颜色随机变化,就像真正的圣诞树发光一样。
delphi - 将 TRichEdit 绘制到画布上
我正在尝试在 Delphi XE 中实现支持 RTF 的工具提示窗口。为了呈现富文本,我使用了屏幕外的 TRichEdit。我需要做两件事:
- 测量文本的大小。
- 绘制文本
为了完成这两个任务,我编写了这个方法:
Range参数是传入的,所以我可以在这个方法之外使用计算出来的尺寸。MustPaint 参数确定是否应计算范围 (False) 或绘制 (True)。
为了计算范围,我调用这个方法:
画它:
问题在于,虽然它计算了一个 438 像素宽和 212 像素高的矩形,但它实际上绘制了一个非常宽(被剪裁)且只有 52 像素高的矩形。
我打开了自动换行,尽管我的印象是不需要这样做。
有任何想法吗?
delphi - Delphi 用彩色文本组件替换 TRichEdit 以提高性能
我目前在我的一个软件(在 Delphi 7 中)中使用 TRichEdit 作为“实时”事件日志查看器,我最近对我的软件进行了分析,TRichEdit 消耗了超过 40% 的软件 cpu 时间。
我只想测试其他组件以比较性能,该组件必须具有:
- 线条着色(可能是 LINE 语法颜色,因为不同颜色的线条有不同的前缀或 HTML 着色等)。
- 轻松保存到文件功能(到 RTF 或 HTML)。
- 免费或开源。
- 性能好。即使是“大文件”(可能是 200 Mo)作为查看器。
信息:我还看过这篇文章,但对我来说没有很好的答案。
delphi - 在 TRichEdit 中设置 EM_AUTOURLDETECT 后如何检测 URL 链接?
我正在尝试使用 EM_AUTOURLDETECT 消息为 TRichEdit 组件实现 URL 检测。
我对以下代码有疑问
它虽然有效,但我必须在这些设置之后更改 TRichEdit 的文本,以使其检测到已写入文本中的 URL。这就是问题所在,因为我的 TRichEdit 在应用此功能时处于只读模式。
执行此代码以强制 TRichEdit 检测已写入文本中的 URL 后,我应该怎么做?
我正在查看文档,但没有提到这样的事情。
谢谢
delphi - 打印带有背景颜色的richedit
我正在将文本从 delphi TRichedit 控件输出到打印机。有一个背景图像,所以我使用 EM_FORMATRANGE 和这个逻辑......
...并且工作正常,除了在呈现文本时它始终具有白色背景,而不管richedit的颜色如何。知道为什么吗?
编辑:来自发表的评论:
Range
是RANGEFORMAT
, 并被赋予如下值:
winapi - Richedit 2.0 控件忽略 WM_PAINT 消息的 WParam?
我已经阅读了很多关于尝试对 Richedit 控件进行双缓冲的问题,但没有看到对这个特定问题的任何直接答案(如果有微软官方声明的引用/链接,那就太好了)。
这是我一直用于测试的一些代码(VCL/Delphi/Borland Builder 6.0):
如果我在继承::WndProc() 之前调用 BeginPaint() (将消息传递给那些不知道 VCL 的控件),那么控件不会在我的内存 DC 或实际窗口 DC 上绘制任何内容。如果我改为调用 GetDC(),控件仍然不会在内存 DC 上绘制,但它会直接在窗口 DC 上绘制。我通过注释掉我的 BitBlt() 调用来确认这一点。如果没有注释掉,客户区全黑(意味着控件根本没有在内存 DC 上绘制),如果我注释掉那行,控件正确绘制(这意味着它忽略了 WParam 内存 DC 并直接进入窗口 DC)。
虽然听起来我已经回答了我自己的问题,但我真正想要的是其他人的确认(链接到 MS KB 文章或 MSDN 会很棒,所以我可以向我的老板展示:),以及实现双缓冲的其他可能的想法? 我不能使用我发现的大多数技巧,比如将控件隐藏在屏幕外或使用 WM_PRINT,因为我需要这个控件才能真正用于用户输入和滚动条,它不仅仅是用于显示的只读。
此外,该控件使用的是 RichEdit 2.0,即使我使用的是 VCL.. 它已被修改为将窗口创建为“richedit20a”类。我还确认 VCL 层根本没有弄乱绘画,所以在纯 win32 代码中应该看到同样的行为。
delphi - Delphi 7 TRichTextEdit 框中的文本无法正确显示
使用delphi 7 TRichEdit组件,通过复制和粘贴从msword文档中导入RTF数据,但是如果数据包含在一个框中,则无法正确显示,即
请协助