我想再打印机里面打印出高为1cm的字,请问我应改怎么设置字体?

BABIZHU 2005-01-26 03:34:36
rt
...全文
590 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
BABIZHU 2005-01-28
  • 打赏
  • 举报
回复
I_Love_CPP(我愛C++) ,可能使我太笨了,你给的方法,我都试过了,打印出来的直线(你给我的连接后两个就是打印直线的连接),可是就连那个10cm也没有,如果方便的话,你能直接给我一段代码嘛?
kingzai 2005-01-27
  • 打赏
  • 举报
回复
http://www.yesky.com/20000130/27588.shtml
I_Love_CPP 2005-01-27
  • 打赏
  • 举报
回复
“应该是不行的,我试了,情大家在指教”
???????

http://community.csdn.net/Expert/topic/3713/3713476.xml?temp=5.346316E-02
http://community.csdn.net/Expert/topic/3496/3496925.xml?temp=.65469
http://community.csdn.net/Expert/topic/3446/3446240.xml?temp=.2289545
http://community.csdn.net/Expert/topic/3446/3446232.xml?temp=.3165399
legendhui 2005-01-27
  • 打赏
  • 举报
回复
改变映射模式,或者调用系统的字体对话框设置
BABIZHU 2005-01-27
  • 打赏
  • 举报
回复
应该是不行的,我试了,情大家在指教
BABIZHU 2005-01-27
  • 打赏
  • 举报
回复
楼上,差个表表2啊
I_Love_CPP 2005-01-26
  • 打赏
  • 举报
回复
Windows在显示时以"逻辑英寸"为单位,逻辑英寸比实际的英寸要大。如果Windows程序使用实际英寸,则普通的10磅文本在显示器上就会小到几乎难以辨认,因此Windows使用放大了的"逻辑英寸"来表示文本。逻辑英寸只影响显示,而不影响打印。

使用GetDeviceCaps函数可得到当前设备的各种能力,其第一个参数nIndex指示要获取信息的类型。当nIndex为HORZSIZE和VERTSIZE时,可得到显示区域的宽度和高度;当nIndex 为HORZRES和VERTRES时,可得到每个水平和垂直方向的像素数即分辨率;当nIndex的值为LOGPIXELSX 和LOGPIXELSY时,可得到水平和垂直方向每逻辑英寸所含像素数。

在介绍了逻辑英寸的知识以后,很容易将OLEServer设置为基于逻辑英寸的映射模式。如果程序员仅仅调用SetMapMode(hdc,MM_LOENGLISH)来设置映射模式,当前的映射模式为物理英寸,而不是逻辑英寸。设置逻辑英寸必须自定义窗口和视口的范围,使xViewExt/xWinExt =0.01逻辑英寸中水平像素的点数,当xViewExt=LOGPIXELSX,xWinExt=100时,其比值正好满足上述要求。

以下是设置映射模式的代码。

intxLogPixPerInch=GetDeviceCaps(hdc,LOGPIXELSX);
intyLogPixPerInch=GetDeviceCaps(hdc,LOGPIXELSY);
SetMapMode(MM_ANISOTROPIC);
SetWindowExt(100,100);
SetViewportExt(xLogPixPerInch,yLogPixPerInch);

上述代码中调用SetMapMode函数将映射模式设置为自定义的,该调用必须位于SetWindowExt 和SetViewportExt调用之前,否则设置将会无效。
上述代码实际上将映射模式设置成逻辑MM_LOENGLISH,若程序员需要设置逻辑MM_LOMETRIC、MM_HIMETRIC、MM_HIENGLISH 或MM_TWIPS,只需修改上述代码中的SetWindowExt的参数,该参数实际上是每英寸所包含的各种映射模式下的单位数。根据表1中各映射模式的参数,可得到表2中每英寸所对应的各逻辑单位的个数。
koko1998 2005-01-26
  • 打赏
  • 举报
回复
1.mapping mode
2.CreateFont function's nHeight, // height of font

all is logical ;
viewerviewer 2005-01-26
  • 打赏
  • 举报
回复
改变映射模式,再设置相应的值应该可以。。。。
fanqing 2005-01-26
  • 打赏
  • 举报
回复
学习(我想可能和映射模式有关系)
关注

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧