• 全部
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

关于打印!!高手进

Arh 2004-12-08 10:13:32
我在vckbase上下载了一个基于对话框的打印程序printdemo,可是怎么运行的时候纸会在打印机里走,可是出来什么也没打上呀,比如:
bool MyPrint::InitPrint(int itemy)
{
m_itemy = itemy;
CPrintDialog printDlg(FALSE);
//利用CPrintDialog 生成打印机设备环境
if (printDlg.DoModal() == IDCANCEL) return false;
// 连接到dc上
printdc.Attach(printDlg.CreatePrinterDC());
printdc.m_bPrinting = TRUE;
printdc.SetMapMode(MM_LOMETRIC);
// 设置字体
oldfont = printdc.SelectObject(&m_font);
// 计算字体
nHorRes = printdc.GetDeviceCaps(HORZRES);
nVerRes = printdc.GetDeviceCaps(VERTRES);
TEXTMETRIC tm;
printdc.GetTextMetrics(&tm);
nCharHeight = tm.tmHeight;
nCharWidth = tm.tmAveCharWidth;
pageend_y = nVerRes - 150;
// 设置打印作业
CString strTitle;
strTitle.LoadString(AFX_IDS_APP_TITLE);
// 打印作业的定义信息
::ZeroMemory (&di, sizeof (DOCINFO));
di.cbSize = sizeof (DOCINFO);
di.lpszDocName = strTitle;

return true;
}

BOOL MyPrint::StratPrint(void)
{
BOOL bPrintingOK = printdc.StartDoc(&di);
bPrintingOK &= printdc.StartPage();
return bPrintingOK;
}
void MyPrint::EndPrint(void)
{
CString str;

str.Format("-- 完 --",m_curpage);
int startx = 40 * str.GetLength();

printdc.SelectObject(oldfont);
printdc.TextOut(nHorRes - startx,nVerRes - 70 ,str);

printdc.EndPage();
printdc.EndDoc();
}
void MyPrint::PrintStr(CString str)
{
printdc.SelectObject(&m_font);
printdc.TextOut(cur_x,cur_y,str);
cur_y += nCharHeight + m_itemy;
if(cur_y >= pageend_y)
{
Nextpage();
}
}

void CPrintdemoDlg::OnButton1()
{
CString str1;
MyPrint print;
str1="asdfadfadsf";

print.SetFont(100,5);
if(!print.InitPrint(50))
return;
print.StratPrint();
print.PrintStr(str1);
print.EndPrint();
}
...全文
30 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
koko1998 2004-12-08
打印时,加个坐标转换
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2004-12-08 10:13
社区公告

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