Delphi 7 中文本/标题的宽度(以像素为单位)
这是我的问题,我想知道文本的实际长度(以像素为单位)(请注意,某些字体中的各种字母具有不同的长度)。我将使用它来更好地调整 DBGrid 中的列宽。
Here is my problem, I want to know actual length of the text in pixels (note that various letters have different length in some fonts). I am going to use this for better column width adjustment in DBGrid.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
Canvas.TextWidth
和Canvas.TextHeight
函数。选项1,使用控件的画布
选项2,创建临时画布(使用Tbitmap)
You can use the
Canvas.TextWidth
andCanvas.TextHeight
functions.Option 1, using the canvas of the control
Option 2, creating a temporary canvas (using a Tbitmap)
如果您的 Delphi 组件具有“Canvas”属性,那么您可以使用 Component.Canvas.TextWidth。例如:要获取 DBGrid 文本的宽度,您可以使用:
在这里您可以找到有关此问题的完整参考:
Delphi 字符串的长度(以像素为单位)
if you have a Delphi component has a "Canvas" property, then you can use Component.Canvas.TextWidth. For example: to get the width of the text of DBGrid you can use:
Here you can find complete reference about this issue:
Length of Delphi string in pixels