VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 2481|回复: 4

[讨论] 如何判断一汉字占一个textbox或者label一行的多少width。

[复制链接]
发表于 2015-12-6 13:34:26 | 显示全部楼层 |阅读模式
有时定义文本框或标签的宽度随屏幕大小而改变,那么有没有好办法自动计算一行文本或标签占满多少汉字。我曾用一行的宽度除以255.却不太准确,看看大师们有没有更好的办法。
发表于 2015-12-6 18:48:34 | 显示全部楼层
蠢一点的办法是用一个label设置自动宽度
麻烦点的用GetTextExtentPoint32
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-6 20:08:11 | 显示全部楼层
能具体说说第二种如何用吗?请举实例
回复 支持 反对

使用道具 举报

发表于 2015-12-9 11:41:24 | 显示全部楼层
你的需求完全是可控的,只需要在设计时,匹配最小分辨率设计(如800*600)。
如果用户的分辨率过小,不作处理。
如果用户的分辨率过大,可适当拉伸(网上已有较完善的拉伸方案)。


标签没有句柄,实现起来很麻烦。
或许2楼的 gdi 方法能帮到你。
回复 支持 反对

使用道具 举报

发表于 2015-12-15 17:45:44 | 显示全部楼层
form 的 TextWidth 方法

点评

说错了,是Win10下无效!  发表于 2015-12-17 13:18
您的代码着色的那个模块,在Win7下无效了,盼大神修改!  发表于 2015-12-17 13:18
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2022-6-30 18:30

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表