问题标签 [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.

0 投票
1 回答
696 浏览

delphi - 为什么 EM_SETTEXTMODE 不起作用?

我正在尝试在 Delphi 7 中使用控件EM_SETTEXTMODERichEdit

只需创建一个新项目,添加一个TRichEdit控件和一个TButton控件,并将以下代码添加到按钮的单击处理程序中:

单击按钮后,按钮的标题设置为38 0 38,这意味着文本模式根本没有改变 - 最初是38( TM_RICHTEXT or TM_SINGLELEVELUNDO or TM_MULTICODEPAGE),然后SETTEXTMODE是成功 ( 0),但即使在那之后它仍然是38

按照文档的建议,RichEdit在使用之前清除 's 文本。EM_SETTEXTMODE

我尝试过设置不同的值,EM_SETTEXTMODE它总是保持不变38

我注意到即使控件在调用之前包含文本,它也EM_SETTEXTMODE总是返回(成功)。0RichEdit

我尝试使用RichEdit1.Perform而不是SendMessage- 没有区别。

我在各种论坛上找到了几个关于这个问题的帖子,但没有一个问题得到解决。

知道为什么这不起作用吗?

0 投票
1 回答
3300 浏览

delphi - 如何将特定行从一个 TRichEdit 控件复制到另一个?

我是 delphi 的新手,我试图弄清楚如何将特定的行(而不是完整的文本)从一个richtextbox 加载到另一个。

0 投票
1 回答
1437 浏览

delphi - 如何在 Delphi 中更改 RichEdit 的字体平滑(抗锯齿)质量?

我有一个Delphi 7应用程序,我在其中将文本绘制到TBitmap. 我需要能够控制文本的抗锯齿质量。为此,我使用以下过程:

TBitmap这样称呼它:SetFontQuality(MyBitmap.Canvas.Font, ANTIALIASED_QUALITY)。这里的目标是设置旧的抗锯齿而不是新的 ClearType。这很好用,如果我DrawText用来在TBitmap. 但是,我需要在其上绘制 a 的文本TRichEdit,所以我正在使用EM_FORMATRANGE它。但是无论我的 Windows 抗锯齿是什么来绘制文本(所以如果我在 Windows 中启用 ClearType,它就是 ClearType,即使我用 设置了旧的抗锯齿ANTIALIASED_QUALITY)。

我想我需要更改 的字体质量TRichEdit,所以我将程序应用于它:SetFontQuality(MyRichEdit.Font, ANTIALIASED_QUALITY),但这并没有改变。

我做了一些测试 - 我尝试将过程应用于Font各种控件的属性 - TButton, TMemo, TEdit, TLabel. 它对所有人都有效。但是当应用于 aTRichEditFont属性时,抗锯齿不会改变。

所以,我的问题是:如何更改 TRichEdit 控件的抗锯齿质量?

0 投票
1 回答
308 浏览

delphi - 将格式化文本从 SQL 附加到 TRichEdit

你能帮忙解决这个问题吗?如何将格式化的 txt 从数据库字段附加到 TRichEdit ?

澄清一下:我需要获取 2 个具有格式化文本 (RTF) 的数据库字段的内容,并将它们放入 TrichEdit 中以保留格式。我使用 MSSQL Express,该字段设置为 ANSI 格式的 TEXT。

好的,这很好用:

0 投票
1 回答
600 浏览

delphi - fcharset2 字体字符显示为符号字符

下面的 RTF 类似于过去十年中一些用户通过自定义写字板使用 delphi 应用程序保存的 RTF,例如使用 trichedit 控件的小应用程序(仿照 Delphi 附带的示例)。该应用程序已在 Delphi 7 中实现,可在 XP 和 windows 7 上运行。

我将 rtf 片段保存到 rtf 文件中,当我在 word 或 wordpad 中打开它时,它们会显示符号字符而不是文本。在我看来,这是有道理的,因为使用的 fcharset 是 2,即 Symbol。

我查看了应用程序中保存的一些 RTF 文档实例,其中使用了 fcharset2,我看到了以下模式:fcharset2 SansSerif、fcharset2 Symbol 和 fcharset2 Roman。fcharset2 符号对我来说很有意义,例如,它用于列表项目符号。

例如,我不明白的是,fcharset2 Roman 是如何进入 rtf 的?我假设某个用户有一种名为浪漫的字体,他/她输入了文本,突出显示它并将字体更改为浪漫。但是为什么富编辑控件保存的是 fcharset2 而不是 fcharset0?

谢谢

0 投票
2 回答
726 浏览

c++ - 如何保存 TRichEdit 文本 RTF 的特定部分(c++ codegear)

我正在现有的 c++ CodeGear 项目中创建搜索功能。

当你双击一个单词时,所有出现的单词的背景都是绿色的,就像在 notepad++ 中一样。

在应用颜色之前,我将原始TRichEDit文本保存在 TMemoryStream 中,以便能够取回原始文本。我在TRichEdit.

我想知道是否有一种方法可以将搜索词的每次出现都保存在 a 中TMemoryStream,或者使用 Message 之类的EM_STREAMOUT

现在一切正常,但是当TRichEdit文本太大时,重新加载所有文本的大备忘录需要很长时间。我认为最好只记住改变的单词的颜色,而不是重新加载所有文本。

我真的是编程的初学者,任何帮助都将不胜感激。告诉我是否不够清楚。

这是我的代码,它正在工作并将背景颜色添加到单词的出现处:` void SearchInText::searchWordInText(TRichEdit* reTextToSearch, AnsiString strWordToFind) { lstOccurrences->Clear(); //重置lst

} `

0 投票
2 回答
1928 浏览

delphi - 如何使用代码中的图像修改 RTF 文件

我有 RTF 格式的文档模板,它包含一些文本和一些图像(使用写字板,Win 7 创建)。我需要更改一些文本并保存它。我正在尝试这样做(Delphi XE7,Win32 平台,Windows 7 x64 SP1):

所以我还没有改变任何东西,但是 2.rtf 不再包含任何图像,并且尺寸比 1.rtf 小得多。其他一切(表格/文本/字体/...)似乎都还可以。任何想法如何保存所有图像(和其他对象)?

更新1。刚刚找到解决方法。我有 DevExpress 组件,如果我使用 TcxRichEdit 而不是 TRichEdit,那么我可以保留所有对象:

但我在 TRichEdit 中找不到类似的功能。

0 投票
0 回答
431 浏览

delphi - Delphi:在无格式单元中创建 RichText

您如何在无形单元中模仿 TRichEdit?

我希望能够向其中添加格式化文本。

在所有进程都执行完毕之后,finally 会将格式化数据作为参数传递给实际的 TRichEdit ...

TIA

0 投票
1 回答
718 浏览

delphi - 添加新行时如何防止焦点 TRichEdit 的自动滚动?

我有一个TRichEdit控件,我不断添加行。问题是当控件获得焦点时,只要添加一行,它就会自动滚动到末尾。

添加行时如何停止滚动条移动到末尾?TRichEdit添加新行时如何防止焦点自动滚动?

0 投票
1 回答
573 浏览

c++builder - C ++ Builder XE5,如何在richedit中显示选定的文本

我想知道可用于在 C++Builder XE5 上的 VCL 中从 RichEdit 中选择文本的方法或代码。

我可以使用以下代码更改所选文本的颜色:

但我不知道如何继续在 RichEdit 中显示所选文本。