加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 我可以将TMemo的大小本身包含在文本中吗?

发布时间:2020-12-15 04:22:11 所属栏目:大数据 来源:网络整理
导读:当您在表单设计器中编辑TLabel的标题时,会为您调整TLabel的大小.有什么办法可以在运行时得到TMemo吗? 我想要能够使用一个TMemo,为它的.lines.text属性分配一些东西,然后告诉它自己调整大小,而不是超过一定的宽度,尽管它可以像想要的那样高.有人知道怎么做吗
当您在表单设计器中编辑TLabel的标题时,会为您调整TLabel的大小.有什么办法可以在运行时得到TMemo吗?

我想要能够使用一个TMemo,为它的.lines.text属性分配一些东西,然后告诉它自己调整大小,而不是超过一定的宽度,尽管它可以像想要的那样高.有人知道怎么做吗

解决方法

将备忘录的WordWrap属性设置为true,将文本转储到其中,对行进行计数,并将高度设置为行数和行高度的乘积.但是你需要知道行高.

tMemo对象不会显示行高度属性,但如果在运行时不更改字体或字体大小,则可以在设计时通过实验确定线高度.

这是我用来设置线高度为13像素的备忘录的高度的代码.我还发现,我需要一个小常数来记录备忘录的顶部和底部边界.我将高度限制在30行(396像素),以保持其在表单上.

// Memo.WordWrap = true (at design time)
Memo.Text := <ANY AMOUNT OF TEXT>;
Memo.Height := min(19+Memo.Lines.Count*13,396);

如果您绝对必须在运行时从对象中提取行高,则必须使用“某人的答案”.或者,您可以使用一个tRichEdit对象,它具有一个SelAttributes属性,它包含一个赋予行高度的Height属性.

-Al.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读