VC打印设置字体大小问题???紧急???????? VC中打印我创建一个打印机设备句柄 然后textout(hdcprint,1,200,"操作员",6);打印,发现打印正常,但是字体太小,请问各位,如何设置字体,才能使字变大????? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Create一个 Font, 设置好字体属性后, 然后:SelectObject(hdcprint, hFont); CFont *f,*pOldFont; f = new CFont; f->CreateFont(100, // 字体高度 100, // 字体宽度 0, // nEscapement 0, // nOrientation FW_BOLD, // nWeight FALSE, // bItalic FALSE, // bUnderline 0, // cStrikeOut ANSI_CHARSET, // nCharSet OUT_DEFAULT_PRECIS, // nOutPrecision CLIP_DEFAULT_PRECIS, // nClipPrecision DEFAULT_QUALITY, // nQuality DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily _T("宋体")); // lpszFac SelectObject(hdcprint,f); 然后textout();但是字体大小一点没变!!! 我这里有个打印的程序,并且能用CreateFont创建字体,不过我还没研究过,你可以加我qq我发给你,其他的得你自己看了,函数在StringView.cpp里,是onDraw函数 字体的参数不能随便设置,否则系统会找不到合适的字体。HFONT hFont = (HFONT) ::GetStockObject(DEFAULT_GUI_FONT);LOGFONT lf;::GetObject(hFont, sizeof(LOGFONT), &lf);CFont DataFont;DataFont.CreateFontIndirect(&lf); //通常窗口正文字体lf.lfWeight = 700;CFont HeadFont;HeadFont.CreateFontIndirect(&lf); //加粗字体lf.lfHeight = -19;CFont TitleFont;TitleFont.CreateFontIndirect(&lf); //标题字体上面我创建了3个字节,你分别把他们选入你的打印机DC,再绘制一串文字,你看字体大小没有没有改变。这些程序是我在一个工程正在使用的源代码。 HFONT hFont = (HFONT) ::GetStockObject(DEFAULT_GUI_FONT);LOGFONT lf;::GetObject(hFont, sizeof(LOGFONT), &lf);CFont DataFont;DataFont.CreateFontIndirect(&lf); //通常窗口正文字体lf.lfWeight = 700;CFont HeadFont;HeadFont.CreateFontIndirect(&lf); //加粗字体lf.lfHeight = -19;CFont TitleFont;TitleFont.CreateFontIndirect(&lf); //标题字体SelectObject(hdcprint,&lf); 然后textout();仍然没有变化??????急!!!!!!!! CFont TitleFont;TitleFont.CreateFont(-MulDiv(24/*字体大小*/,memDC.GetDeviceCaps(LOGPIXELSY),72), 0,0,0,FW_HEAVY,0,0,0,GB2312_CHARSET, OUT_STROKE_PRECIS,CLIP_STROKE_PRECIS,DRAFT_QUALITY, VARIABLE_PITCH|FF_SWISS,_T("黑体"));memDC.SelectObject(&ThemeFont);memDC.Textout(……);这样一定OK SelectObject(hdcprint,&lf);你这是在干什么?应该是:SelectObject(hdcprint,DataFont.GetSafeHandle());SelectObject(hdcprint,HeadFont.GetSafeHandle());SelectObject(hdcprint,TitleFont.GetSafeHandle()); 程序员如何让自己健谈起来? 高手,解释一下什么是在工作线程中采集数据 ini 文件定义的问题,高手请进 如何用MFC ODBC在文档界面显示数据??? 在Win2000下怎样通过编程让任务栏实现系统中提供的自动隐藏? 如何在程序中调用"Open With"对话框? 请问程序中怎样使用Windows密码认证? opengl 如何显示加载文件的进度 visual c++图像处理有什么比较好的书么 CSDN有没有打印高手?? directshow怎么入门?下载了sdk.打开里面的一些工程.有的工程完全找不到入口函数.好像没有一些顺序可言.(高分请教) 用VC对word文件进行操作
SelectObject(hdcprint, hFont);
f = new CFont;
f->CreateFont(100, // 字体高度
100, // 字体宽度
0, // nEscapement
0, // nOrientation
FW_BOLD, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
_T("宋体")); // lpszFac SelectObject(hdcprint,f);
然后textout();
但是字体大小一点没变!!!
LOGFONT lf;
::GetObject(hFont, sizeof(LOGFONT), &lf);CFont DataFont;
DataFont.CreateFontIndirect(&lf); //通常窗口正文字体lf.lfWeight = 700;
CFont HeadFont;
HeadFont.CreateFontIndirect(&lf); //加粗字体lf.lfHeight = -19;
CFont TitleFont;
TitleFont.CreateFontIndirect(&lf); //标题字体上面我创建了3个字节,你分别把他们选入你的打印机DC,再绘制一串文字,你看字体大小没有没有改变。这些程序是我在一个工程正在使用的源代码。
LOGFONT lf;
::GetObject(hFont, sizeof(LOGFONT), &lf);CFont DataFont;
DataFont.CreateFontIndirect(&lf); //通常窗口正文字体lf.lfWeight = 700;
CFont HeadFont;
HeadFont.CreateFontIndirect(&lf); //加粗字体lf.lfHeight = -19;
CFont TitleFont;
TitleFont.CreateFontIndirect(&lf); //标题字体
SelectObject(hdcprint,&lf);
然后textout();
仍然没有变化??????急!!!!!!!!
TitleFont.CreateFont(-MulDiv(24/*字体大小*/,memDC.GetDeviceCaps(LOGPIXELSY),72),
0,0,0,FW_HEAVY,0,0,0,GB2312_CHARSET,
OUT_STROKE_PRECIS,CLIP_STROKE_PRECIS,DRAFT_QUALITY,
VARIABLE_PITCH|FF_SWISS,_T("黑体"));
memDC.SelectObject(&ThemeFont);
memDC.Textout(……);
这样一定OK
SelectObject(hdcprint,DataFont.GetSafeHandle());
SelectObject(hdcprint,HeadFont.GetSafeHandle());
SelectObject(hdcprint,TitleFont.GetSafeHandle());