社区
PowerBuilder
帖子详情
如何得到数据窗口中列的字体宽度及一个字符串的宽度(cm单位)?
wander
2000-03-24 10:46:00
printwidth()只能用于printopen()之中,在数据窗口中的dw_1.object.cloumn.font.width的返回值就是无法的到
我的目的是为了在数据窗口中准确的得到一字符串的绝对宽度
...全文
182
2
打赏
收藏
如何得到数据窗口中列的字体宽度及一个字符串的宽度(cm单位)?
printwidth()只能用于printopen()之中,在数据窗口中的dw_1.object.cloumn.font.width的返回值就是无法的到 我的目的是为了在数据窗口中准确的得到一字符串的绝对宽度
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
929
2000-03-24
打赏
举报
回复
既然可用PRINTWIDTH算出字符串的宽度,我有一个不太好的方法:思路就是先应用PRINTDEFINFONT按照数据窗口中字段字体的信息将打印字体构造出来,并选为当前字体。然后将数据窗口中字段值做为字符串传给PRINTWIDTH,让它计算出字符串的长度。
在数据窗口的属性中可得到字体的FACENAME,HEIGHT,WEIGHT,FONTPITCH,FONTFAMILY,ITALIC,UNDERLINE。
用到的函数在PB中都是有的。
PrintOpen ( { jobname } )
PrintDefineFont ( printjobnumber, fontnumber, facename, height, weight, fontpitch, fontfamily, italic, underline )
PrintSetFont ( printjobnumber, fontnumber )
PrintWidth ( printjobnumber, string )
PrintCancel ( printjobnumber )
PrintClose ( printjobnumber )
guzhigang
2000-03-24
打赏
举报
回复
字体的宽度是根据高度和字体的其他信息而定,所以的不到。
我看只能用API Drawtext()的DT_CALCRECT,从DATAWINDOW中得到字体信息,
创建HDC和FONT,然后计算字符串宽度.
以上只是想法没有实践,仅供一笑
【Python】
字符串
显示
宽度
计算的方法
东亚字符
宽度
”是 Unicode 标准附件之一。它定义了East_Asian_Width参考特征,该特征提供有关 Unicode
中
每个字符的字符
宽度
的提示。(东亚字符
宽度
)这个概念被定义是在《Unicode® 标准附录 #11》
中
。UAX #11:东亚
宽度
(unicode.org)对于东亚语言来说,主要是固定间距
字体
。要处理的内容包括半角英数字、正常的汉字、半角显示的特殊字符,以及从日语shift-jis编码过来的颜文字等各种特殊字符。以田老师的项目经验,
中
文在此方面还算是相对简单的。
wpf
字符串
指定大小_如何计算WPF TextBlock的已知
字体
大小和字符
宽度
?
所提供的解决方案适用于.Net Framework 4.5,但是,随着Windows 10 DPI缩放和Framework 4.6.x添加对它的不同程度的支持,现在标记了用于测量文本的构造函数[Obsolete],以及该方法上的所有构造函数不包含pixelsPerDip参数。不幸的是,它涉及的更多,但是新的缩放功能将导致更高的准确性。每浸像素根据MSDN,这表示:每个密度独立像素的像素值,它等于比...
斜体字
字符串
宽度
如何计算准确
最近做的一个绘图软件,写字是最基本的功能,但是发现用户把
字体
设置为斜体时,选
中
文字后,文字会超出选
中
时的高亮外边框,我是采用GetTextExtent()函数
得到
当前
字符串
的高度和
宽度
,然后以此
宽度
和高度画的外边框。 好了,baidu,谷歌了一下,发现网上的方法和示例很麻烦,现总结如下: 1建立自己的
字体
2把
字体
选入到当前用来绘图的dc
中
3
得到
当前
字符串
的基本高度和
宽度
4以当前字符
VC
中
获取单个
字体
尺寸和
字符串
尺寸
转载自:http://my.oschina.net/ypimgt/blog/62354 一、获取
字符串
尺寸用:GetTextExtentPoint32。 SIZE *se=new SIZE; CDC MemDC; //首先定义一个显示设备对象 MemDC.SelectObject(font); ......其它关于MemDC的操作 GetTextExtentPoint32(MemDC.Ge
TFT-LCD屏幕显示ASCII字符和
字符串
3.在写入24号
字体
时,因为
字体
宽度
为12个像素点,而字模数组的
数据
都是8位的,所以12个像素点就只能先写8位,再写4位,写完一行的8位
数据
,ucPage+1,在字符的一维数组
中
找下一个8位的
数据
,但只循环4次,取低4位的
数据
,所以共写入了12位像素点
数据
,写完一行后屏幕会根据
窗口
宽度
自动换行,所以下一行就再取数组
中
的两个字节写入,每次两个,直到48个字节都写完,就显示出了字符。写完8位是紧接着写4位的,并没有空格,图片为了区分8位和4位,加了空格。
PowerBuilder
1,079
社区成员
66,439
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章