说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

如何在WINDOWS中控制打印字体的长宽,而不受限于SIZE 的限制-Delphi资料

HTML文档下载 WORD文档下载 PDF文档下载
如何在WINDOWS中控制打印字体的长宽,而不受限于SIZE 的限制-Delphi资料

首先为了达到这个功能,可以采用Windows的逻辑字体(LogFont)

可以使用 CreateFont 或 CreateFontIndirect 这两个Windows API

函数来定义任何想要的字体,由于 CreateFont 所需的参数甚多通常

我们使用 CreateFontIndirect 来建立所需的逻辑字体,这个API函数

在Delphi中的声明为

function CreateFontIndirect(const p1: TLogFont): HFONT; stdcall;

其中只有一个参数 p1: TLogfont

所有有关字体的参数完全通过这个

TLogfont结构来传送,Windows将根据结构中的内容创建出相应的逻辑

字体,在Delphi的Windows.pas中TLogFont是这样定义的

TLogFontA = packed record

lfHeight: Longint;

lfWidth: Longint;

lfEscapement: Longint;

lfOrientation: Longint;

lfWeight: Longint;

lfItalic: Byte;

lfUnderline: Byte;

lfStrikeOut: Byte;

lfCharSet: Byte;

lfOutPrecision: Byte;

lfClipPrecision: Byte;

lfQuality: Byte;

lfPitchAndFamily: Byte;

lfFaceName: array[0..LF_FACESIZE - 1] of AnsiChar;

end;

TLogFontW = packed record

lfHeight: Longint;

lfWidth: Longint;

lfEscapement: Longint;

lfOrientation: Longint;

lfWeight: Longint;

lfItalic: Byte;

lfUnderline: Byte;

lfStrikeOut: Byte;

lfCharSet: Byte;

lfOutPrecision: Byte;

lfClipPrecision: Byte;

lfQuality: Byte;

lfPitchAndFamily: Byte;

lfFaceName: array[0..LF_FACESIZE - 1] of WideChar;

end;

TLogFont = TLogFontA;

其中涉及到很多参数,其中

lfHeight: Longint;

指定以逻辑单位标定的字体高度,取值可为正负或零,对于需要随意

定义字体高度的情况下通常取负值,以保证获得实际尺寸的字体。

lfWidth: Longint;

用于指定字体的平均宽度,由于Windows系统下的大多数字体都是比例

字体因而采用平均宽度这个表示方法。若指定为0,则系统会自动根据

适当的比例自动处理宽度。

lfEscapement: Longint;

指定输出方向与当前坐标系X轴之间的以十分之一度为单位的角度。

lfOrientation: Longint;

指定每个字符与当前坐标系X轴之间的以十分之一度为单位的角度。在

Windows95中这个值等同于lfEscpement。

lfWeight: Longint;

指定范围为从0至1000的字体加重程度,400是标准字体700为加重字体,

0表示采用默认值。

lfItalic: Byte;

不为0表示采用斜体字。

lfUnderline: Byte;

不为0表示带下划线。

lfStrikeOut: Byte;

不为0表示带穿透线。

lfCharSet: Byte;

指定字体集。

lfOutPrecision: Byte;

指定输出精度。用于确定对前面一些设定值的精确程度。

lfClipPrecision: Byte;

指定裁剪精度。裁剪是Windows图形环境下的一种特殊处理,简单说就是

去掉图形中落在视图以外的部分,有助于提高图形的处理速度。

lfQuality: Byte;

指定输出质量。

lfPitchAndFamily: Byte;

指定字体的Pitch和Family。

lfFaceName: array[0..LF_FACESIZE - 1] of AnsiChar;

指定采用的字体名称。

在建立逻辑字体时,我们通常使用

lfHeight和lfWidth来确定字体的尺寸,使用lfEscapement和lfOrientation

来确定字体的输出方向,使用lfWeight

lfItalic

lfUnderline

lfStrikeOut

来确定字体的加重,斜体,下划线和穿透线,使用lfCharSet

来确定字体的字符集,通常采用系统默认的字符集。

对于lfOutPrecision

lfClipPrecision

lfQuality一般应用于对屏幕之外

的输出设备,通常采用默认值。采用lfPitchAndFamily来确定采用定宽或可

变字体和字体的家族。以lfFaceName来通过名称选择采用的字体。

另外应当注意在Windows环境下,每种字体具体输出为何种形式取决于很多

因素,需要对以上这些参数进行有效的组合才能达到所要的效果。

代码审查——提高代码质量的终极武器 值得开发者关注的8个HTML5 API 最初设计方案大公开!LINE STAMP 贴图诞生记 安全宝联合华为成立抗D联盟 储备防御带宽达110G 专访中科院贾海鹏:给异构开发者的六个建议 我们死后的遗留数据将会如何处理? 传微软考虑重大重组 或势在必行 云适配CEO陈本峰:8年磨一剑 Splashtop企业应用:SplashApp让办公移动起来 时空旅行+内付费“植物大战僵尸2”下月18日全球同步发行! 中移动推网络电话Jego 后来者能否居上? 防止数据泄露:BYOD下的管理员5大妙招 咕咚副总裁司建铭谈移动时代的“软硬整合” 未来的物联网结点:可穿戴设备 应用开发的4个技巧,让程序能真正为用户使用 Google早期的10个API:它们现在在哪? 为啥微软开发产品总是慢半拍? Visual Studio 2013 Preview新功能预览 “中国手机游戏四月流水榜”出炉 超半数基于Cocos2d-x引擎 为移动而设计之信息架构篇 难逃厄运:Zynga将关闭Draw Something母公司OMGPOP 直接拿来用!最火的iOS开源项目(一) 是时候抛弃Eclipse转向IntelliJ了 Arrow:轻量级的Python时间日期库 编程语言API,你最青睐哪一款? 推动新输入方式发展:英特尔为感知计算设1亿美元基金 AWS到底有多大?目前看来有158000台服务器 C语言实现树的动态查找 第五届中国云计算大会于北京隆重举行 改变企业移动化:新Google地图API支持用户定制 诺基亚旗舰手机EOS真机图曝光 配备“巨型”摄像头 请问哪里有《Delphi5企业级解决方案及应用剖析》配套光盘源码下载? hehe...请问能不能在WIN2000P建域呢?? 在对话框中放一个静态文本,为何执行时看不到该文本? 哪里有Inside COM+的书籍下载? 请教各位:如何对zf='dd'转换成十六进制? 请教: 二级域名name.***.com是怎么实现的? vc中使用string类型的问题 肮脏的九运会,肮脏的广州!建议以后取消全运会!! 我做了一个OCX控件,里面有个属性SName,我现在想在属性窗口里改了它的值,马上可以在控件上改变,请教各位! 为什么我的USB接口键盘在用软盘启动后的DOS状态下不响应? JSP,薪水有多少? delphi中怎样调用package? ado 的问题 图片从数据能显示,图片名称不能显示? 请问unix下有没有类似于windows下的DLL的二进制代码存储文件机制?(当然不是javaBean) 关于语音控件CTTS1.0? 请教各位:问如何对变量zz='02'转换成16进制? flash 5。0哪里有下载 在vc中调用用vb写的com出错,为什么? 关于多态性的理解,对吗? 如何知道1个类是不是存在? ??请教:我的程序 help!help! 如何对程序执行动作放缓慢! 很小很小的问题!! 棘手问题??急急!!! 各位懂软件测试的朋友,请介绍一些资料给我,非常感谢! 菜鸟问个调试问题,别见笑! 请介绍一下学数据库应学什么开发工具更好些,除了sql语言? 请教一个关于TextArea区域中数据显示的问题 高分求以二进制方式打开文件 哪里能找到dialogic卡的VN协议? 求解:BC++3.1 or high编程在DOS下连接interbase server 高手快进!!!一个DataReport报表的异步操作问题( MYSQL的帮助文档哪里有下载?谢谢 求,谁有zip unzip的源代码 菜鸟的问题,送分来了! 有谁知道什么是SDD吗?请指教!!!!别吝惜呀!!^o^ 简单的右键弹出菜单问题…… 我想编一个pop3服务器,适用于windows iis,给点提示吧 编译SERVLET时老出现"...包 javax.servlet 不存在..." ? 请教关于 98中 Personal web Server的问题 辽宁4:0狂胜广东,爽丫!SB广东解说员居然说中国足球没戏了~~~~~~~~~~ 用APPLET做一个上传的东西可以吗???? "我的问题"栏中,只剩下未解决的了,已给分的为何都不见了? 在CSDN和大富翁都没人会答的简单OLE问题,唉! 我是shijie819有问题?? 各位高人,看看代码,不能输入汉字只能输入英文,问题在那里? 如何将编好的n个模块连接到一个工程 请教!关于listbox的列属性? 英语翻译If you are a kind of person who always wonder what is inside computer.Then this is the video for you.What we are going to do here is open the machine and look at seven major components you find inside.The motherboard is the heart of the c 小学二年级春季田径运动会的作文(200字以上)4乘100米接力赛 跑步 投球 作文原来我没懂600字 计算机英语高手,帮我翻译一篇文章!不要软件翻译……The concept of set plays a very significant role in all branches of modern mathematics. In recent Years set theory has become an important area of investigation because of the way 我是这样长大的作文关于妈妈的爱我是在妈妈的关怀中长大的 作文 原来我没懂要写我没懂青春的含义,真实情感 英语翻译PM:Where do you acquire this library?It's part of the ASP.NET AJAX,so you can just download it.We do provide it in two distinct pillars.One is as an MSI installer for Windows-based machines.But if I'm working on a Linux machine or a Mac,I 我是这样长大的,作文开头怎么写? 读灵魂为题作文800字我急用啊…不要网上有重复的我要的作文题目是读灵魂! 阅读关于中华儿女报效祖国为祖国争光的文章或书籍,写一篇读后感.要了解这个人的!我明天就要交作业了啊!要500字左右的,另外还要英语六年级上册的第二单元试卷啊 英语翻译1.Client allocates and initializes address open TDI IRP.On this request TDI returns file object known as address object and representing network address.This step is equivalent to bind call from Windows Sockets interface2.Client allocates 帮忙写一个英语作文(很简单)字数50-60提示:这是我们的校图书馆.你可以上网查资料、做功课、读书.但是你不可以大声喧哗.你不可以在书上乱写.你不可以把书带回家. 赞美祖国的文章(300字以内)谁能告诉我一篇赞美祖国的 文章,谁能告诉小妹妹一篇!帮帮小妹妹吧!今天下午就要交作业了! 赞美荷花的文章或诗 很简单的英语作文只要是关于节日就行! 歌颂祖国的文章1500字, 《狼图腾小狼小狼》读后感跪求(>^ω^ 急需关于校运动会100字的作文急 400字关于赞美祖国的文章哥哥姐姐帮帮忙 帮写一篇英语小作文60-80词模块任务:Writing instructions 围绕这个题目 写1篇 60-80词 的英语小作文 不要复制的 就要60-80词够了 关于运动会的作文50字-100字鼓励运动员的 关于童年趣事或成长的烦恼的作文,800字 求一篇作文,请根据以下材料,自选角度,不少于600字.〔1〕美国阿拉斯加一个自然保护区有一种珍稀的鹿种,主人们为了是鹿种不受到伤害,将狼、豹等杀光.从此这些鹿群置于没有危险的安乐窝 求1200字作文 以小见大 有关 美丽 得作文素材,四则素材,不要超过300字/则以美丽为话题,四则素材,不要超过300字/则要事例,不要文章.= =, 用英语写一篇60词的短文.以‘如何在日常生活中减少污染’为题,可以用到以下单词:environmentally-friendly harmful emissions reduce air quality significant improvement 以小见大的文章生活中的一些小事情而反映出一个大道理.(初一作文.) 什么是爱情?800字作文素材! 作文《浓浓的年味》,自选角度,不少于600字提示:许多人都觉得年的味道越来越淡,其实,那最正宗、最古朴的年味,就在那忙年、拜年和过年的过程中悄悄弥散开来 要400字的作文 是以小见大的作文我只要400字多了不给赏金 如果我满意我会给赏金 英语翻译一篇英文文献,关于Linux安全方面的,两页纸,有意者请留下您的E-mail地址,我把文件发给你翻译完了 分数多多的~ 秋季运动会作文200到300字 帮我写篇英语作文、简单的很.急用!随着信息技术的快速发展,网络已经成了人们生活中不可或缺的组成部分,但不容忽视的是,网络污染也随之开始泛滥起来.请以“cyber pollution”为题写一篇100 英语翻译大概两千字左右,或者给个链接,要求计算机方面的而且有英文与中文译文 运动会作文200字.要几段! 假定你是spring有限公司销售经理李华,给客户mr.wang写一份信.日期.09.3.18.材料价格上涨.产品价值上调.原定货物维持原价.希望以后能继续合作.表示歉意! 英语翻译要有翻译,200到250个单词的样子,不要太长.whart's search enging?给出一个理解.不要太难的,比初学者好亿点点的样子就可以. 初中校运动会作文200字求运动会作文啊不要夸张的啊 阅读材料,自选角度,自拟问题,写一篇作文,不少于500据说爱因斯坦来到普林顿高级研究所的第一天,管理人员问他需要什么用具,他会他说:“我看,一张桌子或台子,一把椅子和一些纸张,钢笔就 赞美荷花的作文六年级的 狼图腾小狼小狼读后感怎么写1000字左右 原来我没懂 作文600字 描写和赞美荷花的作文一定要有创意 作文:那一次,我做对(错)了,600字左右, 求一篇写荷花的作文 赞美莲花的作文 求两篇英语作文,请用最简单的英文单词写希望加为好友.没法同时给两人分数,喜欢你提供的第一篇. (急)读下面的材料,自选角度,写一篇文章.材料:杨柳自有杨柳的洒脱,青松自有青松的壮美,生于世界上,在于宇宙间,同顶炎炎烈日,共沐皎皎月辉,每个生命都闪耀着独特的光辉,展示着无穷的 用荷花来赞美夏天的文章写两三百字就可以了 能给我弄个简单的英语作文么?100个单词就行 《狼图腾》的读后感,600字左右 谁能回答一下 着急 成长的烦恼800字 作文 给点新意 请你给我15篇简单英语作文 不超过30个单词 带翻译的 急用 《狼图腾》读后感500字 狼图腾小狼小狼读后感800字以上 作文 森林里的运动会200字三年级快 狼图腾读后感500字..偶要狼图腾读后感500字的,别写得大道理一大堆,偶是初一的,水平还可以,别写太好,也别太烂,就这样.. 《狼图腾小狼小狼》怎么写好读后感? 求一篇写名人英语小作文.抄的不要这篇小作文是在英语课上演讲的。 狼图腾1200字读后感!可以东拉西扯.要围绕着狼的精神,狼给人的教导等方面写.主要突出狼的精神!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn