| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 654 人关注过本帖, 1 人收藏
标题:VFP中GDI+中遇到的问题
只看楼主 加入收藏
sych
Rank: 6Rank: 6
等 级:侠之大者
威 望:7
帖 子:300
专家分:436
注 册:2019-10-11
收藏
得分:0 
TEXTMETRIC是在WINGDI.H中定义的型态的结构。TEXTMETRIC结构有20个栏位:
  typedef struct tagTEXTMETRIC { // tm
  LONG tmHeight; //字符高度
  LONG tmAscent; //字符上部高度(基线以上)
  LONG tmDescent; //字符下部高度(基线以下)
  LONG tmInternalLeading, //由tmHeight定义的字符高度的顶部空间数目
  LONG tmExternalLeading, //加在两行之间的空间数目
  LONG tmAveCharWidth, //平均字符宽度
  LONG tmMaxCharWidth, //最宽字符的宽度
  LONG tmWeight; //字体的粗细轻重程度
  LONG tmOverhang, //加入某些拼接字体上的附加高度
  LONG tmDigitizedAspectX, //字体设计所针对的设备水平方向
  LONG tmDigitizedAspectY, //字体设计所针对的设备垂直方向
  BCHAR tmFirstChar; //为字体定义的第一个字符
  BCHAR tmLastChar; //为字体定义的最后一个字符
  BCHAR tmDefaultChar; //字体中所没有字符的替代字符
  BCHAR tmBreakChar; //用于拆字的字符
  BYTE tmItalic, //字体为斜体时非零
  BYTE tmUnderlined, //字体为下划线时非零
  BYTE tmStruckOut, //字体被删去时非零
  BYTE tmPitchAndFamily, //字体间距(低4位)和族(高4位)
  BYTE tmCharSet; //字体的字符集
  } TEXTMETRIC;
Declare Long GetDC In user32.dll Long
Declare Integer GetTextMetrics In gdi32.dll Long, String @

tm = Replicate(Chr(0),57)
GetTextMetrics(GetDC(_vfp.hWnd),@tm)

*!*    系统字体平均宽度
lnAvgCharWidth = Ctobin(Substr(tm,21,4),'4rs')
?lnAvgCharWidth

*!*    系统字体高度
lnCharHeight = Ctobin(Substr(tm,1,4),'4rs') + Ctobin(Substr(tm,17,4),'4rs')
?lnCharHeight


[此贴子已经被作者于2023-11-11 10:16编辑过]

2023-11-11 10:08
快速回复:VFP中GDI+中遇到的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016596 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved