MFC怎样使打印时不弹出CPrintDialog 直接指定默认打印机打印

SF0606 2010-08-16 09:05:26
如题 就想在点按钮之后直接打印 我把DoModle删了 但是运行是会出错误 一定是doModle对CPrintDialog做了一些初始化的工作吧 能不能在代码中自己处理 以下是我现在的代码:

//打印
void ReportPrint::Print(BOOL bDirect)
{
DWORD dwflags=PD_ALLPAGES | PD_NOPAGENUMS | PD_USEDEVMODECOPIES | PD_SELECTION | PD_HIDEPRINTTOFILE;
CPrintDialog dlg(bDirect,dwflags,NULL);

if(dlg.DoModal()==IDOK)
{

CDC dc;

//定义打印模式信息
LPDEVMODE dev = dlg.GetDevMode();

dev->dmPaperSize = DMPAPER_USER;
dev->dmPaperLength = m_paperSize.cy * 10;
dev->dmPaperWidth = m_paperSize.cx * 10;
dev->dmFields = DM_PAPERSIZE | DM_PAPERWIDTH | DM_PAPERLENGTH | dev->dmFields;
dev->dmFields = dev->dmFields | DMBIN_MANUAL;
dev->dmDefaultSource = DMBIN_MANUAL;

strcpy((char*)dev->dmFormName,"自定义");
dc.Attach(dlg.CreatePrinterDC()); //打印机DC构造完成

dc.StartDoc("print");

CFont font;
font.CreatePointFont(atoi(m_csHeight)*10,m_csFaceName,&dc);

dc.SelectObject(&font); //设置用户配置字体

for (int i=0;i<m_nMaxPage;i++)
{
dc.StartPage();
for (int j=0;j<POINT_COUNT;j++)
{
dc.TextOut(m_printPoint[j].x*10,m_printPoint[j].y*10,m_pPrintInfo[i].text[j]);
}
dc.EndPage();
}
dc.EndDoc();
font.DeleteObject();
dc.DeleteDC();
}

}


求教高手 该怎么改才好
...全文
1005 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
luihejun 2011-03-04
  • 打赏
  • 举报
回复
hAO HELLO
zouyingbin 2011-01-20
  • 打赏
  • 举报
回复
3楼的方法用到了外挂技术,厉害!
SF0606 2010-08-21
  • 打赏
  • 举报
回复
楼上的解决方法 好勉强....
xiuxianshen 2010-08-18
  • 打赏
  • 举报
回复
不用模态对话框,用非模态,然后让窗口不要显示不就OK了
SF0606 2010-08-18
  • 打赏
  • 举报
回复
没人顶起 很少有人这么用啊 问题已经解决了 调用dlg.getDefault()就行 谁来接一下 别把分浪费了
SF0606 2010-08-16
  • 打赏
  • 举报
回复
我单步调试发现 去掉dlg.DoModle后 dlg.GetDevMode取到空指针 估计把这个解决了就好了
【变分多谐波对偶模式追踪】从噪声信号中提取重复瞬态分量的方法(Matlab代码实现)内容概要:本文介绍了“变分多谐波对偶模式追踪”这一信号处理方法,旨在从含有噪声的信号中有效提取重复出现的瞬态成分。该方法结合了变分模态分解与多谐波分析的优势,通过构建对偶模式追踪模型,实现了对微弱瞬态特征的精准分离与增强,特别适用于机械故障诊断、生物医学信号处理等领域。文中详细阐述了算法原理、数学模型构建及其实现步骤,并提供了基于Matlab的代码实现,便于读者复现与应用。; 适合人群:具备一定信号处理基础,从事机械故障诊断、生物医学工程或相关领域的研究生及科研人员。; 使用场景及目标:①从强噪声背景中提取机械设备的周期性冲击信号以进行故障预警;②分析生物医学信号中的重复生理事件,如心电图或脑电图中的特定波形;③为需要高精度瞬态特征提取的研究提供可靠的算法支持与实现范例。; 阅读建议:此资源以Matlab代码实现为核心,不仅展示了算法的具体编程细节,还强调了理论与实践的紧密结合。学习者应在理解算法原理的基础上,动手运行并调试所提供的代码,通过改变参数观察结果变化,从而深入掌握该方法的应用技巧与优化策略。

19,463

社区成员

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

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