关于通用打印对话框(PrintDlg())详解

wangjiashun 2004-05-08 05:24:40
那位大侠能给我讲讲通用打印对话框如何使用?
例如我要把一个特定设备描述表里的位图用默认的打印机打印出来.
...全文
697 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluebohe 2004-05-08
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2854/2854411.xml?temp=.9866907
这个帖子里面讲述了在各种操作系统下获得默认打印机的方式
bluebohe 2004-05-08
  • 打赏
  • 举报
回复

API得到默认打印机比较烦。要区分操作系统,下面的代码你先看一下


回复人: bluebohe(薄荷) ( ) 信誉:100 2003-9-26 13:13:43 得分:0



你看一下下面这些代码,
ZeroMemory(&pd, sizeof(PRINTDLG));
pd.lStructSize = sizeof(PRINTDLG);
pd.hwndOwner = AfxGetApp()->m_pMainWnd->m_hWnd;
pd.hDevMode = NULL; // Don't forget to free or store hDevMode
pd.hDevNames = NULL; // Don't forget to free or store hDevNames
pd.Flags = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC;
pd.nCopies = 1;
pd.nFromPage = 0xFFFF;
pd.nToPage = 0xFFFF;
pd.nMinPage = 1;
pd.nMaxPage = 0xFFFF;

if (PrintDlg(&pd)==TRUE)
{
// GDI calls to render output.
DEVMODE *p=(LPDEVMODE)::GlobalLock(pd.hDevMode);;
// Delete DC when done.
DeleteDC(pd.hDC);
}




bluebohe 2004-05-08
  • 打赏
  • 举报
回复
哦,打印位图和得到DC位图的两段代码我当初是刻意不用MFC而使用API的
我再帮你找一下PRINTDLG的用法的例子
bluebohe 2004-05-08
  • 打赏
  • 举报
回复
关于打印位图的
http://expert.csdn.net/Expert/topic/2626/2626361.xml?temp=.3705255
关于使用默认打印机的
http://expert.csdn.net/Expert/topic/2324/2324601.xml?temp=.2499506

大多数都是用的MFC,不知道可不可以,论坛上也有用API的,不过我不大好找。
wangjiashun 2004-05-08
  • 打赏
  • 举报
回复
是,最好用API,不用MFC
自由的风 2004-05-08
  • 打赏
  • 举报
回复
关于通用打印对话框,csdn文档区一大堆

我要把一个特定设备描述表里的位图用默认的打印机打印出来?????是说要打印图片吗?

16,548

社区成员

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

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

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