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

0 投票
3 回答
840 浏览

c++ - 如何在 C++Builder2009 中正确地将指针从 void* 向下转换为 TMemo*?

我在 C++Builder 2009 中编写多线程套接字聊天。
按照我需要做的,它几乎完成了,但我有一个小问题。我需要将 TMemo* 指针传递给 CreateThread WinAPI 函数,该函数将其向上转换为 void*。

我试过这样:

然后,在 NetThread 函数中,

但它没有工作:(

问题是我如何才能真正正确地向下转换它,以便我可以在这个新线程中使用我的备忘录组件?

0 投票
5 回答
9678 浏览

delphi - 我可以为它包含的文本设置一个 TMemo 大小吗?

当您在表单设计器中编辑 TLabel 的标题时,它会为您调整 TLabel 的大小。有什么办法可以让 TMemo 在运行时做到这一点?

我希望能够获取一个 TMemo,为其 .lines.text 属性分配一些东西,然后告诉它自己调整大小并且不超过一定的宽度,尽管它可以达到它想要的高度。有谁知道该怎么做?

0 投票
2 回答
15272 浏览

delphi - Delphi TMemo 属性行中字符串的最大长度

我一直在寻找 TMemo.Lines 中 String 的最大长度为 1024 的原因,但尚未找到。

我有一个文本文件,其中包含长度约为 2000 个字符的定界 / csv 数据。在处理文件之前,我使用备忘录进行预览。

memo.Lines.LoadFromFile(textFile);

我已将 WordWrap 设置为 FALSE,并将滚动条设置为 ssHorizo​​ntal。所以任何记录都不会被包装到下一行。

但是当我迭代 memo.Lines 时,我发现每个索引中保存的最大 String 是 1KB 或 1024 个字符。其余的被截断到下一行。

但是如果我使用 TStringList 来加载文件,当行超过 1024 个字符时,它不会被截断到下一个索引。当我使用 TRichEdit 时不会发生这种情况。

  1. 任何人都可以解释这种现象吗?
  2. 它是 TMemo 的默认行为吗?

我用 D2006 来试试这个。

0 投票
4 回答
1256 浏览

delphi - 如何将任意数据粘贴到 TMemo 中?

复制和粘贴文本很容易,因为它内置在 TMemo 中,但它似乎只能处理文本。不过,在我看来,任何类型的数据都可以表示为字符串。如果我从另一个程序复制一些任意数据并想将其粘贴到 TMemo 中,我如何让 Delphi 将其作为原始字符串接受?

0 投票
2 回答
4286 浏览

delphi - Delphi - 备忘录右键获取行号

右键单击备忘录时如何获取备忘录的行号?

ListBox 有 .ItemAtPos 但我找不到类似的功能

-布拉德

0 投票
3 回答
1104 浏览

forms - 如何防止主窗体在另一个非模态窗体上捕获 TMemo 中的击键?

我有一个从主窗体打开非模态窗体的应用程序。非模态表单上有一个 TMemo。主窗体菜单使用“空格”作为其加速字符之一。

当非模态表单打开并且备忘录具有焦点时,每次我尝试在非模态表单上的备忘录中输入空格时,“空格”快捷方式的主表单事件都会触发!

我尝试在另一个表单打开但没有骰子时将 MainForm.KeyPreview := false 变为。

有任何想法吗?

0 投票
1 回答
3522 浏览

c++ - 在 C++ Builder 中覆盖事件处理程序

在 Codegear C++ Builder 中,我试图扩展 TMemo VCL 类以在 OnKeyDown 事件期间执行一些功能。我已经设置了控件并且能够将它添加到表单等等。问题是我无法捕获 OnKeyDown 事件(或任何其他事件)。

这是我的课:

所以,我想我的问题是:如何设置从 VCL 类派生的类以在某个事件触发时执行自定义功能?

0 投票
2 回答
1213 浏览

delphi - 有没有更好的方法在 TMemo 中添加一些字符?

我正在使用 TMemo 来保存从串行端口接收到的字符以供查看。当他们到达时,我正在做:

这很好用,但我认为它效率很低,必须先获取现有文本,然后再连接我的几个字符,然后再写回去。我真的很想要一个“SendChars()”函数或类似的东西。有没有更好的方法在现有文本的末尾简单地添加几个字符?

0 投票
2 回答
3509 浏览

delphi - Delphi Copy Memo to Richedit问题

我在将备忘录的内容复制到 Richedit 组件时遇到问题。

我以为会

但是,如果我使用它,当备忘录文本换行到一个新的新行(不是 CR/LF)但只是换行时,Richedit 会开始一个新行。当备忘录开始一个新行时,richedit 也会开始一个新行,这很好。

任何人都知道如何将备忘录中的文本复制到richeditbox中,而不会在备忘录文本换行时在Richedit中中断行

谢谢

科林

0 投票
2 回答
2639 浏览

delphi - 在 Delphi 中,有没有办法调整 TMemo 的行距?

我正在使用 TMemo 组件在有限的空间中显示一些文本。目前它使用的是一种不随 windows 一起提供的 truetype 字体,它在运行时由应用程序安装。

在我的 PC(运行 Windows XP)上,每行文本之间的间距似乎约为 8 个像素。在另一台运行 Windows 7 的 PC 上,行距似乎约为 14 像素,这使得最下面一行的文本无法在备忘录中显示。

所以,我的问题是这样的:

  1. 这是由不同版本的Windows引起的吗?这就是我能想到的不同。
  2. 有什么方法可以调整这个值,以便它在应用程序的所有实例中保持一致,无论它在哪里运行?

或者,我可以使用不同的组件来调整这个值吗?