CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

VC 中字体使用的问题

楼主bluestone(kulawa)2002-11-30 23:25:48 在 VC/MFC / 基础类 提问

向各位大虾请教一个问题,我实在没招了:(  
   
  在VC中能够在创建字体时,指定字体的逻辑高,然后,系统会根据高,计算出一  
   
  个合理的字宽,但是我现在的情况是,我只知道字体的规定宽度,但是,在VC中又  
   
  不能够根据字宽去找一个合理的字高,因此,创建的字体很“胖”基本上走形了。  
   
  (宽高一起指定也走形,MSDN关于字体方面的解说我差不多都看了...:(     )  
   
  有谁能给我想个办法解决这个问题呢?  
   
  谢谢!  
   
   
  还有一个问题,也是字体方面的。Word中是靠指定字号来选择字体的大小,我现在  
   
  不知道这个字号的确切意义。谁能给我指点一下:)用VC怎样来实现这样的功能呢,  
   
  我看主要是字体设置方面的,字号和字体的大小应该有一个对应的关系吧?  
   
  就这两个问题,谢谢大家了!  
   
  (分数不能多给,我只能给这些,如果谁能帮我解决这两个问题   ,我可以多给一些  
   
  分,当然是通过别的渠道。) 问题点数:100、回复次数:4Top

1 楼JennyVenus()回复于 2002-11-30 23:43:33 得分 0

我想可以用createfont   吧Top

2 楼JennyVenus()回复于 2002-11-30 23:46:08 得分 100

BOOL   CreateFont(   int   nHeight,   int   nWidth,   int   nEscapement,   int   nOrientation,   int   nWeight,   BYTE   bItalic,   BYTE   bUnderline,   BYTE   cStrikeOut,   BYTE   nCharSet,   BYTE   nOutPrecision,   BYTE   nClipPrecision,   BYTE   nQuality,   BYTE   nPitchAndFamily,   LPCTSTR   lpszFacename   );    
   
    其中各个参数的含义如下:    
   
  nHeight   //   字体的高度    
  nWidth   //   字体的宽度    
  nEscapement   //   字体旋转的角度    
  nWeight   //   字体的轻重    
  bItalic   //   是否为斜体    
  bUnderline   //   是否有下划线    
  cStrikeOut   //   是否有强调线    
  nCharSet   //   字符集    
  nOutPrecision   //   输出精度    
  nClipPrecision   //   剪裁精度    
  nQuality   //   输出质量    
  nPitchAndFamily   //   间距和字体族    
  lpszFacename   //字体名,可为空    
    利用这些参数,可以方便地设置各种字体参数,比如高度、宽度等。也许细心人已经看出来了,在这些参数中,同我们所要讨论的问题关系最大的是nEscapement,它表示字符的基线同坐标的X轴之间的旋转角度,从X轴正方向开始沿逆时针方向旋转,以十分之一度为单位。lpszFacename指明字体的名称,如“宋体”、“行楷”。需要指出的是,个别字体不支持字体旋转,主要是字体宽度不可变的种类。有了这些基础,实现字体旋转就是一件简单的事了。在VC   6.0下新建一工程,然后在视类的OnDraw(CDC   pDC)中添加如下代码:    
   
    CFont   NewFont;    
   
       NewFont.CreateFont(50,50,300,0,0,0,0,0,    
   
  GB2312—CHARSET,OUT—TT—PRECIS,    
   
  CLIP—DEFAULT—PRECIS,DEFAULT—QUALITY,   FIXED—PITCH,″″);    
   
    //创建一逻辑字体,高50、宽50、倾斜30度,其他参数请查阅文档    
   
  CFont   pOldFont=pDC-〉SelectObject(&NewFont);//选进设备描述表    
   
  pDC-〉SetTextColor(RGB(0,0,0));    
   
    //设置字体颜色,这里是黑色    
   
  pDC-〉TextOut(0,250,″旋转的字体″);//在(0,250)处显示    
   
  pDC-〉SelectObject(pOldFont);    
  Top

3 楼allen88680764(也不知为什么,爱上了编程,呵呵)回复于 2002-12-01 09:02:06 得分 0

好好看看  
  <<vc++技术内幕>>   第五章吧  
  讲的很详细,详细到我都要烦了Top

4 楼bluestone(kulawa)回复于 2002-12-16 19:06:04 得分 0

算了   ,结了结了   ~~~:(  
   
  谢谢   大家   了   ,可惜   都没有   回答我的   问题~~  
   
  分扔了!Top

相关问题

  • 在VC中使用属性页:CPropertySheet,字体怎么改变?
  • 怎样在vc中使用shx字体文件呀
  • Vc中设置Button的字体大小
  • 家里的机子系统是XP中文件,所以VC的字体很丑,在公司里的是英文件系统,VC的字体很漂亮,使用的字体是Courier
  • 怎样使用LED字体,在bcb中
  • VC++中我如何获得非等宽字体的每个字体的宽度
  • 怎样得到windows中使用的是大字体还是小字体
  • vc 6.0 IDE里的字体在哪里能改,就是IDE的文本编辑器里使用的字体。
  • 如何使用VC多cell拷贝,如何修改单个cell中内容的字体,如何合并excel中的几个单元格
  • vc中Hello World示例程序中的显示字体问题

关键词

  • 字体
  • 字号
  • vc
  • 旋转
  • lpszfacename
  • 参数
  • newfont
  • nescapement
  • 宽度
  • pdc

得分解答快速导航

  • 帖主:bluestone
  • JennyVenus

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo