tempad
ReadyGo!技术成就梦想 >>ERP >> 急!!如何获得字体宽度?

急!!如何获得字体宽度?

ReadyGo!技术成就梦想 网络搜索 efish 2008-1-16 8:39:38

急!!如何获得字体宽度?

楼主chrysler(一只唯美的细腰蜂)2001-04-17 20:37:00 在 VC/MFC / 基础类 提问

我用CFont创建一新字体时,只给出高度而不给宽度,创建完毕后我希望能够获得字体的宽度,但是无论如何也无法成功,希望给位高手帮忙。(下面是我测试失败的方法)  
  我使用的方法如下:  
  1.在调用CFont::CreatFont时,我只给出高度的值,如100,宽度的值为0   这样MFC自动会为我创建一与高度相匹配的字体。然后我调用GetLogFont获得刚创建的LOGFONT指针变量,改指针指向的结构中的lfWidth值为0.   :(  
  2.用CDC的GetOutputTextExtent函数,只能得到Text映像下的值,不能针对所有映像的情况来或的宽度。  
   
   
  问题点数:50、回复次数:3Top

1 楼SmartHeart(女孩其实很傻,不知道谁真的爱她!)回复于 2001-04-17 20:47:00 得分 25

GetTextExtentTop

2 楼joke100(咱们去SLEEP吧...)回复于 2001-04-17 20:51:00 得分 25

将该字体选入DC后,调用  
  BOOL   CDC::GetTextMetrics(   LPTEXTMETRIC   lpMetrics   )   const;  
  再去查TEXTMETRIC结构中的相关成员变量...  
   
   
  Top

3 楼joke100(咱们去SLEEP吧...)回复于 2001-04-17 20:56:00 得分 0

将字体选入DC后,对中文字体是等宽的  
  对于英文字母的宽度可以用  
  BOOL   CDC::GetCharWidth(   UINT   nFirstChar,   UINT   nLastChar,   LPINT   lpBuffer   )   const;  
  求出26个字母的精确宽度...  
   
  Top

责任编辑: efish 参与评论 查找更多:
相关文章
我的Modem在上网时每隔2分钟就掉线,可能是什么原因… 我的Modem在上网时每隔2分钟就掉线,可能是什么原因??modem没坏
!!!!!VBVBVB请问有人学过VB的DHTML吗?(50分) !!!!!VBVBVB请问有人学过VB的DHTML吗?(50分)
Linker error是怎么回事? Linker error是怎么回事?
求教打开jpeg文件的代码?? 求教打开jpeg文件的代码??
什么叫负载平衡??如何在2000advServer上配置负载平… 什么叫负载平衡??如何在2000advServer上配置负载平衡??
最近好烦,是关于以后的发展方向.......... 最近好烦,是关于以后的发展方向..........
csdn上的同志们,有谁过了mcsd(vb track),传授一下… csdn上的同志们,有谁过了mcsd(vb track),传授一下70-175的经验??
小弟想做一个数库表格打印控件,需要打印表格,高手们… 小弟想做一个数库表格打印控件,需要打印表格,高手们能不能给点提示啊,有奖!
VB中插入POWERPOINT。。。。 VB中插入POWERPOINT。。。。
请教PARADOX的DATE型的问题 请教PARADOX的DATE型的问题
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn

分类导航
ReadyGo!技术成就梦想