菜鸟问打印纸张方向问题,为什么我调整后仍然无效

zpj888 2005-09-06 08:58:06
我想在代码中实现打印纸张的方向调整为横向,但是结果总还是纵向,代码如下:
void OnMyPrint( void )
{
CDC pd;
CPrintDialog printDlg(FALSE);
if(printDlg.DoModal()==IDOK)
{
pd.Attach(printDlg.GetPrinterDC());
pd.m_bPrinting = TRUE;
DOCINFO di;
memset(&di, 0, sizeof(DOCINFO));
di.cbsize = sizeof(DOCINFO);
di.lpszDocName = "打印测试";
di.lpszOutput = (LPTSTR)NULL;

di.lpszDatatype= (LPTSTR)NULL;
di.fwType = 0;
di.StartDoc(&di);
PrintDraw(&pd);//绘图代码
pd.StartPage();
pd.EndPage();
pd.EndDoc();
}
}
基本的打印代码就在上面了,我将printDlg指向的那个控制纸张方向的变量设置为2,打印出来的仍然是纵向。(那个变量叫什么记不起了,新装的系统没MSDN)
还有就是我在PrepareDC里面设置pDC->SetViewPortOrg(200, 0);
想让打印的结果位于纸张中心,也是无效的,请问问题在哪里啊
...全文
252 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zpj888 2005-09-06
  • 打赏
  • 举报
回复
那pd->SetViewPortOrg(200, 0)应该放在什么地方才有效的
dirdirdir3 2005-09-06
  • 打赏
  • 举报
回复
void OnMyPrint( void )
{
CDC pd;
CPrintDialog printDlg(FALSE);
if(printDlg.DoModal()==IDOK)
{
pd.Attach(printDlg.GetPrinterDC());
pd.m_bPrinting = TRUE;
DOCINFO di;
memset(&di, 0, sizeof(DOCINFO));
di.cbsize = sizeof(DOCINFO);
di.lpszDocName = "打印测试";
di.lpszOutput = (LPTSTR)NULL;

di.lpszDatatype= (LPTSTR)NULL;
di.fwType = 0;
di.StartDoc(&di);
pd.StartPage();<----------------------------移上来
PrintDraw(&pd);//绘图代码
pd.EndPage();
pd.EndDoc();
}
}

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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