【问题标题】:How to ask Delphi memo components (TMemo, TcxMemo) to recalculate line breaks? How to prevent the fixed wrapping of lines?如何让Delphi备忘录组件(TMemo、TcxMemo)重新计算换行符?如何防止固定换行?
【发布时间】:2021-03-22 15:26:46
【问题描述】:

我正在尝试使用 Delphi (Delphi 2009) TMemo 和 TcxMemo 组件 - 我有 WordWrap=True 和 Scrollbars=[vertical scrollbar] 并且我正在添加 4 个非常长的文本行。备忘录组件自动将这些行包装成多行并创建垂直滚动条。

然后我调整备忘录组件的大小,例如因为表格正在变大。不好的是保留了换行,备忘录组件不会重新计算换行,这就是为什么在文本的右侧添加了大空白。

我希望备忘录组件应该重新包装文本,这是为了直观。但它不会发生吗?这是错误吗?有财产吗?

只有在设计时添加文本时才会出现此问题。设计时设计者在固定位置包装并保存文本,并且显然将带有原始文本中没有的附加换行符的文本保存在 dfm 中。所以 - 这是某种错误。

【问题讨论】:

  • 我很惊讶我从未见过这个,所以我做了一个快速测试。向表单添加了TMemo,并使用akRight 锚定它。 WordWrap = True 默认情况下。然后我运行,多次添加一条长线并调整表单大小。没有什么奇怪的,没有“粘性”CRLF,除了每个添加长行之后的那些。
  • 好的,您没有提到只有在设计时添加文本时才会出现问题。您可能需要编辑您的问题以包含该信息。

标签: delphi devexpress delphi-2009 tmemo


【解决方案1】:

我在https://supportcenter.devexpress.com/ticket/details/q533519/problem-assigning-tcxmemo-lines-to-another-component-with-wordwrap找到了答案

...在设计时禁用 WordWrap 属性并在表单上启用它 显示

【讨论】:

  • 或者在运行时而不是设计时将字符串加载到备忘录中。
猜你喜欢
  • 1970-01-01
  • 2014-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-16
  • 2019-07-23
相关资源
最近更新 更多