怎么样可以打印出指定大小(以毫米为单位)的文字,比如打印高10毫米,宽6毫米的文字,谢谢
解决方案 »
- mscomm32.ocx //创建的控制无法正常显示在对话框上?
- hook winvnc的截屏
- 如何在Win7下安装Vista驱动
- MFC中連接CSV文件作為文件源問題(ADO)
- CBitmap的问题。
- 我想做个图片浏览的工具 界面如附件图片 要用到那些技术? listview什么东西?
- 谁做过这种蠢事?
- 请教:打开新浪首页的时候,右下角的日期提示条弹不出来;将新浪首页最小化后,那个日期提示条正常弹出。为什么呢?谢谢!
- 请问大家如何才能在工作者线程下启动DLL后,再截获主进程退出的消息,俺想在此时加入一些代码.
- 各位大神帮忙看一下为什么messagebox出来的是乱码
- 关于组件对象的生存期?
-  ̄ ̄ ̄..如何在vc中对ACCESS数据库的记录按日期字段进行查询?立即给分 ̄ ̄ ̄..
// for PrintPageFooter's benefit
font1.CreateFont(-40, 0, 0, 0, 400, FALSE, FALSE,
0, ANSI_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
DEFAULT_PITCH | FF_MODERN, "宋体"); CFont* pOldFont1 = (CFont*) (pDC->SelectObject(&font1));
pDC->GetTextMetrics(&tm);
pDC->TextOut(500,-830, "60");
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 = -40,nWeight = 400有什么讲究吗?还有nHeight是什么单位?
SetMode
CreateFont
根据当前的mode,算算。
而nWeight是字体的重,不太容易理解,那么你可以指定几个不同的值做个测试就知道字体重是什么了。字体重相当于字体线条的宽窄,越大就越接近黑体。
打印时,字体的大小控制,是需要创建字体,可以用API函数或者MFC的CFont来创建字体,然后用打印机的设备上下文CDC,调用其SelectObject函数将刚刚创建的字体选入,再输出字符时,字体就改变了。
int cyInch = pDC->GetDeviceCaps(LOGPIXELSY);得到每英寸的橡数。然后
m_cx = (double)cxInch/25.4;
m_cy = (double)cyInch/25.4;
就得到每毫米的像素。
这个是在MM_TEXT映射模式下
至于其他的映射模式,就是你指定的高度
font1.CreateFont(-40, 0, 0, 0, 400, FALSE, FALSE,
0, ANSI_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
DEFAULT_PITCH | FF_MODERN, "宋体");
CFont* pOldFont1 = (CFont*) (pDC->SelectObject(&font1));
是不是这样就能打印出高为4mm的文字来呢?