关于打印!

davyy 2001-12-07 12:24:28
我在做一个SDK的打印控件,但在使用TextOut的 时侯,打印出来多一个黑正方形,怀疑是中文编码问题,但没有解决,请解答!
...全文
187 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
davyy 2001-12-10
  • 打赏
  • 举报
回复
大家告诉我,我给100分!!!
davyy 2001-12-07
  • 打赏
  • 举报
回复
我没有设置字体,使用默认的font,请看样例:
PRINTDLG pd;
pd.lStructSize = sizeof(PRINTDLG);
pd.Flags = PD_RETURNDC;
pd.hDC = NULL;
pd.hwndOwner = NULL;
pd.hInstance = NULL;
pd.nMaxPage = 1;
pd.nMinPage = 1;
pd.nFromPage = 1;
pd.nToPage = 1;
pd.nCopies = 1;
pd.hDevMode = NULL;
pd.hDevNames = NULL;
if(PrintDlg(&pd)!=FALSE)
{
ASSERT(pd.hDC!=NULL);
}
DOCINFO dc;
dc.cbSize=sizeof(DOCINFO);
dc.fwType=0;
dc.lpszDatatype=(LPTSTR)NULL;
dc.lpszDocName=(LPTSTR)"DOC List";
dc.lpszOutput=(LPTSTR)NULL;
StartDoc(pd.hDC,&dc);
StartPage(pd.hDC);
TextOut(pd.hDC,10,10,_T("this is a only samle"),strlen(_T("this is a only sample")));
EndPage(pd.hDC);
EndDoc(pd.hDC);
DeleteDC(pd.hDC);
return;
louifox 2001-12-07
  • 打赏
  • 举报
回复
试试这样:
pDC->SetMapMode(MM_TWIPS);
font.CreateFont(-MulDiv(64,-pDC->GetDeviceCaps(LOGPIXELSY),72),
0,0,0,FW_NORMAL,0,0,0,GB2312_CHARSET,
OUT_STROKE_PRECIS,CLIP_STROKE_PRECIS,DRAFT_QUALITY,
VARIABLE_PITCH|FF_SWISS,m_FontFaceName);
wzaen 2001-12-07
  • 打赏
  • 举报
回复
g&z
davyy 2001-12-07
  • 打赏
  • 举报
回复
不管用呀!
sans 2001-12-07
  • 打赏
  • 举报
回复
SetBkMode( TRANSPARENT );
davyy 2001-12-07
  • 打赏
  • 举报
回复
你没搞错吧?我是在打印对话框显示返回DC,DrawText也一个样,大家在想想!!!!
cloud_soft 2001-12-07
  • 打赏
  • 举报
回复
PD.HDC是NULL呀,这样怎么能打印出东东来呢?建议使用ENUMPRINTER或取打印机信息及打印机的DC,然后在试一下TEXTOUT(建议使用DRAWTEXT)

16,551

社区成员

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

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

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