问题标签 [tmemo]
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 - 如何让Delphi备忘录组件(TMemo、TcxMemo)重新计算换行符?如何防止固定换行?
我正在尝试使用 Delphi (Delphi 2009) TMemo 和 TcxMemo 组件 - 我有 WordWrap=True 和 Scrollbars=[vertical scrollbar] 并且我正在添加 4 个非常长的文本行。备忘录组件自动将这些行包装成多行并创建垂直滚动条。
然后我调整了备忘录组件的大小,例如因为表单变得更大了。坏事是保留了换行,备忘录组件不会重新计算换行,这就是为什么在文本的右侧添加了大空白。
我希望备忘录组件应该重新包装文本,这是直观的。但它不会发生吗?这是错误吗?有财产吗?
只有在设计时添加文本时才会出现此问题。设计时设计者在固定位置包装并保存文本,并且显然将带有原始文本中没有的附加换行符的文本保存在 dfm 中。所以 - 这是某种错误。
delphi - 获取 FMX TMemo 中的插入符号位置(行和字符)
我尝试在包含两个标签的状态栏中显示备忘录插入符号的位置。
我试过这个:
这两个值似乎代表了备忘录左侧和顶部的实际位置。
是否可以将其作为行(行)和列(字符)?
我想澄清一下,我使用firemonkey是为了能够将我的项目编译到 windows 和 linux 上。
谢谢你的回答。
塞尔蒂奇克。
delphi - 如何在 TMemo 中选择文本的第二个副本
我TMemo
里面有一个 with 文本,例如:
我使用一个简单的函数来选择第一次找到文本的时间
我使用AnsiLowerCase
了这样我就可以找到文本而无需适当的大写。
那么,如何才能选择备忘录中第二次出现的“文本”呢?
user-controls - 修改现有 FMX 控件的正确方法是什么?
我需要修改内置 FMX TMemo 控件的行为。我以前从未这样做过,并且想知道正确的方法是什么。在C:\Program Files (x86)\Embarcadero\Studio\21.0\source\fmx
我发现有几个相关文件:
- C:\Program Files (x86)\Embarcadero\Studio\21.0\source\fmx\FMX.Memo.iOS.pas
- C:\Program Files (x86)\Embarcadero\Studio\21.0\source\fmx\FMX.Memo.Android.pas
- C:\Program Files (x86)\Embarcadero\Studio\21.0\source\fmx\FMX.Memo.Win.pas
- C:\Program Files (x86)\Embarcadero\Studio\21.0\source\fmx\FMX.Memo.Types.pas
- C:\Program Files (x86)\Embarcadero\Studio\21.0\source\fmx\FMX.Memo.Style.pas
- C:\Program Files (x86)\Embarcadero\Studio\21.0\source\fmx\FMX.Memo.Style.New.pas
- C:\Program Files (x86)\Embarcadero\Studio\21.0\source\fmx\FMX.Memo.pas
我应该将它们复制到我当前项目文件夹的根目录并开始编辑它们吗?我应该将TMemo
这些文件重命名为其他名称,还是可以只使用TMemo
?我还应该怎么做才能让我的应用程序代码识别它们而不是内置的TMemo
?
顺便说一句,我在 Windows 上使用 Delphi 10.4.2。
clipboard - 在 C++Builder 中将多个字符串粘贴到 TMemo
我有一个来自 TListView 控件的字符串向量。我想将它们复制到剪贴板,然后将它们粘贴到 TMemo 控件中,这样列表中的每一行都在 TMemo 中的单独一行上。到目前为止,我尝试过的所有内容都粘贴为一行。但是在 TMemo 中复制/粘贴多行就可以了。想法?
谢谢!
delphi - How to interfere when user presses CTRL+X and still keep TMemo's default CTRL+X behavior?
I have a TMemo
on the form and I've set an OnChange
event for it. I hope the OnChange
event not to be triggered when the user presses Ctrl+X in the memo. But Ctrl+X just cuts the text selection, which will for sure trigger the OnChange
event. How can I prevent that?
I've tried to detect Ctrl+X in the KeyUp
event, and if the user pressed Ctrl+X I unbind the memo's OnChange
event and programmatically cut the text again. But this doesn't work, and I don't how to programmatically send Ctrl+X.