设为首页 加入收藏

TOP

10.5.6 打印对话框实例
2013-10-07 13:10:33 来源: 作者: 【 】 浏览:76
Tags:10.5.6 打印 对话 实例

10.5.6  打印对话框实例

CPrintDialog类封装了Windows提供的通用的打印对话框,使用此对话框可以简单地完成标准的Windows打印和打印设置功能。要使用CPrintDialog对象,首先使用CPrintDialog构造函数创建对象,可以设置或修改m_pd结构的值初始化对话框的值。m_pd结构是一个PRINTDLG结构的成员变量。初始化对话框后,调用DoModal()成员函数显示对话框,并让用户执行打印功能。下面的代码显示了字体对话框的使用。

  1. void CMyDialog::OnPrintBuf()                // 打印缓冲区数据  
  2. {  
  3.       char   pbuf[100] = "Hello World.";        
    // 定义信息字符数组  
  4.       HDC    hdcPrn ;                          
    // 定义设备上下文变量  
  5.       CPrintDialog *printDlg =new CPrintDialog(FALSE, 
    PD_ALLPAGES |                             PD_RETURNDC, 
    NULL); // 构造打印对话框  
  6. printDlg->m_pd.nMinPage = printDlg->m_pd.nMaxPage = 1;  
  7.                                         // 设置最大
    页和最小页都为1  
  8. printDlg->m_pd.nFromPage = printDlg->m_pd.nToPage = 1;  
  9.                                         // 设置打印第一页  
  10.       printDlg->DoModal();                  // 显示打印对话框  
  11.       hdcPrn = printDlg->GetPrinterDC();    // 获取
    使用的打印机句柄  
  12. if (hdcPrn != NULL)  
  13.                             // 如果选择的打印机
    句柄为NULL,则根据需要处理  
  14.       {  
  15.       }  
  16.       delete printDlg;          // 删除打印机对话框  

上面代码首先定义了CPrintDialog对象,并设置打印对话框的参数,然后调用DoModal()函数。接着调用GetPrinterDC()函数判断使用的打印机,并根据情况执行相应的操作。图10-23显示了调用打印对话框的运行效果图。

 
图10-23  打印对话框调用效果图
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇16.3.2 Windows Sockets编程机理 下一篇10.5.4 字体对话框实例

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: