我们知道,当字符串中包含中英文、数字、符号时,两行文本即使个数相同,也未必能对齐。UI 看着很不舒服。

写了个对齐函数,让字符串都定长,就对齐了。

{ 获取字符串宽度;包含中英文、数字等 }

function GetStringWidth(const strValue: string; const font: TFont): Integer;

var

DC : HDC;

hSavFont: HFont;

Size : TSize;

begin

DC := GetDC(0);

hSavFont := SelectObject(DC, font.Handle);

GetTextExtentPoint32(DC, PChar(strValue), length(strValue), Size);

SelectObject(DC, hSavFont);

ReleaseDC(0, DC);

Result := Size.cx;

end;

{ 对齐字符串;即固定长度 }

function AlignStringWidth(const strValue: string; const font: TFont; const intMaxLen: Integer = 200): String;

var

intLen: Integer;

begin

intLen := GetStringWidth(strValue, font);

if intLen >= intMaxLen then

Result := strValue

else

begin

Result := strValue;

while true do

begin

Result := Result + ' ';

if GetStringWidth(Result, font) >= intMaxLen then

Break;

end;

end;

end;

记录一下。

本文地址:https://blog.csdn.net/dbyoung/article/details/112556389

希望与广大网友互动??

点此进行留言吧!

Java字符和数字列对齐_字符串(包含中英文、数字、符号)的对齐相关推荐

  1. python3 PIL模块 写入中文_英文_字符串 在图片中居中对齐【字符串包括中英文数字等】

    前言: 大家好我是最渣的黑客(宋哈哈),今天在写一个小脚本,让文字写到图片中,一个两个标题就可以手工用adobe 的 photoshop 就能解决,但是很多,就显得那么无力,当然也可以用 ps 的 数 ...

  2. 二维字符数组按长度排序_字符串长度 字符数组长度

    1.不带转义字符的字符 如:"abc!x=/",其长度为 7 2.带转义字符的字符串 (1) 字符串"abcn":其中的'n'为转义字符(换行符),计算字符串长 ...

  3. linux 取出字符中数字,使用awk提取字符串中的数字或字母

    1.提取字符串中的数字$ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" ' { for(i=1;i<=NF;i++) { if ($i ~ ...

  4. java数字格式化为货币字符串_Java把数字格式化为货币字符串实例代码

    数字可以标志货币.百分比.积分和电话号码等,就货币而言,在不同的国家会以不同的格式来定义,本实例将接收用户输入的数字,然后在控制台中输出其货币格式,其中使用了不同国家的货币格式. 思路如下:使用Num ...

  5. java 字符分割函数_java中的字符串分割函数

    Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项: java.lang.string.split split ...

  6. java 包含几个字符_java中如何判断一个字符串包含几个指定字符

    java中如何判断一个字符串包含几个指定字符 可以用String类里的indexOf(String s,int i)方法,这个方法s是字符串div,i是从i下标开始查找该字符串在调用字符串中的位置,返 ...

  7. java string 最大长度是多少_字符串String的最大长度

    开篇三个问题 作为Java的程序员,不知道在Java代码中定义了多少个字符串,可是看看下面3个问题.你是否认真思考过?是否动手实践过? 1.Java中的字符串String的最大长度是多少? 2.Ecl ...

  8. c语言怎么判断字符是否为字母和数字,C语言判断字符串是否为数字

    标签:c 判断一个字符串是否为数字, 听起来很简单,实现还是有点难度的. 最近写了一个,如下: #define IS_BLANK(c) ((c) == ' ' || (c) == '\t') #def ...

  9. mysql 是否是数字_mysql 如何判断 字符串 是否为 数字

    这个问题有点怪 ,但很多时候我们会以字符串的形式存储数字 , 反过来我们用字符串进行数学运算时, 好像也不会出错 . 除非 , 用作数学运算的字符串不能转换成数字 . 但是我们改如何判断字符串是否能转 ...

  10. mysql 将字符串转换数字类型的_MySQL 字符串类型用数字可以查出来 MySQL字符串类型会转换成数字 MySQL隐式类型转换...

    一.发现问题 1.在一次MySQL查询中,某字段为 varchar 字符串类型,传入参数值为 int 数字类型,发现查询的结果和预期的不一致. 如: 某两列 name='11' , name = '1 ...

最新文章

  1. mysql空表_MySQL中两种快速创建空表的方式
  2. fatal: unable to access 'xxxxxxxxxxxxx':The requested URL returned error: 403
  3. SAP 电商云 Spartacus UI production build 时遇到和 orderCore 相关的错误
  4. Mybatis中的#号与$符号的区别
  5. 第四章选择结构(二)
  6. 执行本地sql_实用!5个在线 SQL 数据库环境
  7. 日站会——你的站会姿势正确吗?
  8. Linux系统编程:mmap介绍和使用mmap实现进程间通信
  9. Linux下编译安装WizNote
  10. vs2019安装和使用教程(详细)
  11. 2021年国内外离线下载服务全面评测与总结
  12. ubuntu 20.04 耳机没有声音
  13. 搞懂回溯算法,我终于能做数独了
  14. 12.8 Font 对象
  15. NPM Error: Cannot find module ‘caniuse-lite/data/features/css-unicode-bidi.js‘
  16. 白皮书是什么?如何写产品白皮书?
  17. 拼多多分享好友砍价Java实现_拼多多怎么帮助好友砍价免费拿商品,详情介绍...
  18. HTML5前端页面设计,HTML5网页前端设计
  19. 项目工作总结 (转)
  20. 多目标跟踪DeepSort

热门文章

  1. 安装 adobe 软件 photoshop 遇到 81错误 mac
  2. 警惕一些野鸡国际出版社
  3. JAVA 超详细 将文件夹目录打包为 ZIP 压缩包并下载
  4. IntelliJ IDEA 在 Project 选项卡中查找快捷键
  5. 通过ESP8266手机或电脑浏览器网页能控制远程任意组任意路继电器开关并收发单片机指令 测试OK
  6. java实现网页评分_Java web分级测试评分C级感受
  7. Unity3D自制横版闯关游戏手册(1)
  8. 华为云-计算云服务介绍
  9. 计算机文化基础项目化教程答案,第七版计算机文化基础实践教程 第3-4章习题答案及解析...
  10. Java - 数组常用方法