关于TLogFont.txt

简介:
  type 
TLogFontA = packed record
  lfHeight: Longint;
  //以逻辑单位标定的字体高度,取值可为正负或零。
  lfWidth: Longint;
  //字体的平均宽度,若指定为0,则系统会自动根据适当的比例自动处理宽度。
  lfEscapement: Longint;
  //输出方向与当前坐标系X轴之间的以十分之一度为单位的角度。
  lfOrientation: Longint;
  //每个字符与当前坐标系X轴之间的以十分之一度为单位的角度。在Windows 95中这个值等同于lfEscpement。
  lfWeight: Longint;
  //范围为从0至1000的字体加重程度,400是标准字体,700是加重字体,0表示采用默认值。
  lfItalic: Byte; //不为0表示采用斜体字。
  lfUnderline: Byte; //不为0表示带下划线。
  lfStrikeOut: Byte; //不为0表示带删除线。
  lfCharSet: Byte; //指定字体集。
  lfOutPrecision: Byte;
  //输出精度,用于确定对前面一些设定值的精确程度。
  lfClipPrecision: Byte;
  //裁剪精度,就是去掉图形中落在视图以外的部分,有助于提高图形的处理速度。
  lfQuality: Byte; //指定输出质量。
  lfPitchAndFamily: Byte; //指定字体的Pitch和Family。
  lfFaceName: array[0..LF_FACESIZE - 1] of AnsiChar;
   //指定采用的字体名称,且LF_FACESIZE=32。
  end;
  TLogFont =TLogFontA;

 TLogicFont用法:   
    
          procedure   SetLogicFont(ACanvas:   TCanvas;W:   Integer   =   0;H:   Integer   =   0);   
            var   LogicFont:   TLogFont;   
          begin   
              with   LogicFont,ACanvas.Font   do   
              begin   
                  if   H   =   0   then   lfHeight   :=   Height   
                  else   lfHeight   :=   H;   
                  lfWidth     :=   W;   
                  lfEscapement   :=   10*Direction;   
                  lfOrientation   :=   10*Direction;   
                  lfWeight   :=   FW_NORMAL;//FW_BOLD;   
                  lfItalic   :=   BYTE(fsItalic   in   Style);   
                  lfUnderline   :=   BYTE(fsUnderline   in   Style);   
                  lfStrikeOut   :=   BYTE(fsStrikeOut   in   Style);   
                  lfCharSet   :=   Charset;   
                  lfOutPrecision   :=   OUT_TT_PRECIS;   
                  lfClipPrecision   :=   CLIP_DEFAULT_PRECIS;   
                  lfQuality   :=   DEFAULT_QUALITY;   
    
                  lfPitchAndFamily   :=   DEFAULT_PITCH   or   FF_DONTCARE;   
                  StrCopy(lfFaceName,PChar(Name));   
              end;   
              ACanvas.Font.Handle   :=   Windows.CreateFontIndirect(LogicFont);   
      end;  




本文转自 byteh 51CTO博客,原文链接:http://blog.51cto.com/byteh/86970,如需转载请自行联系原作者

目录
相关文章
|
数据库管理
[20180619]fsc表示什么.txt
[20180619]fsc表示什么.txt --//上个星期做sys.bootstrap$恢复时,执行verify时出现类似错误. BBED> verify dba 4,547 DBVERIFY - Verification starting FILE = /mnt/ramdisk/book/users01.
1178 0
|
关系型数据库 Oracle 开发工具
[20180430]ASICC 7f.txt
[20180430]ASICC 7f.txt --//今天从网上copy一个脚本,执行老是报错,提示ORA-00911: invalid character. --//检查才发现里面含有1个ASCII 7F,从文本根本看不出来,浪费了许多时间做一个记录.
1059 0
|
SQL 测试技术 Perl
20180205]为什么是3秒.txt
[20180205]为什么是3秒.txt http://blog.itpub.net/267265/viewspace-2138042/ 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                   ...
1036 0
|
测试技术 数据库 数据库管理
[20180202]脏块写盘问题.txt
[20180202]脏块写盘问题.txt --//别人问的问题,如果要写脏块的scn号比块小,脏块会写盘吗? --//感觉这种情况不可能出现,脏块的scn应该是最高的,即使rac环境,也不会出现这种情况.
1007 0
|
SQL 索引
[20180118]tstats的问题.txt
[20180118]tstats的问题.txt --//关于使用tstats收集处理统计信息,可以看链接http://blog.itpub.net/267265/viewspace-1987839/ TSTATS in a Nutshell P97 The re...
886 0
|
SQL Oracle 关系型数据库
[20170909]为什么是12秒.txt
[20170909]为什么是12秒.txt --//在开发程序时我一般会强调开发尽量不要写一些自定义函数,往往可能导致CPU忙。 --//例子很像这样: CREATE OR REPLACE FUNCTION get_dept (p_deptno dept.
986 0
|
SQL
[20170825]2038.txt
[20170825]2038.txt --//昨天帮别人解决电脑问题联想到的,对方是主机电池没电,导致启动XP黑屏,重新设置正确的时间后ok. --//这样我想到除了2000年外的2038年的问题,大家知道类unix的os系统计时从'1970/1/1'开始的秒数.
1104 0
|
Oracle 关系型数据库 数据库管理
[20170530]写一致问题.txt
[20170530]写一致问题.txt --//oracle 通过undo等保持读一致性. --//假如一个回话修改1条记录 y字段+1,另外的回话也修改相同记录,y字段+1.
762 0
|
数据库管理
[20161128]关于Little Enddian.txt
[20161128]关于Little Enddian.txt Intel字节顺序称为"Little-Endian",反之Sun,还有网络上采用标准是"Big-Endian"。
869 0