打印ListBox所有项
2016-06-21 15:40
411 查看
vc2008中,打印ListBox所有项,代码如下:
ListBox控件变量:m_listbox;
<pre name="code" class="cpp">void Cstudy2008Dlg::OnBnClickedBtprint()
{
//print listbox
int iCount=m_listbox.GetCount();
if(iCount==0)
{
AfxMessageBox (L"没有数据记录要打印!" );
return;
}
CClientDC dc(this);//屏幕dc
//获取打印机DC
CPrintDialog m_printdlg(FALSE);
if (m_printdlg.DoModal()==IDOK)
{
CDC dc1;
dc1.Attach(m_printdlg.GetPrinterDC());//打印机dc
int screenx,screeny;
int printx,printy;
double ratex,ratey;
//确定打印机与屏幕的像素比率
screenx = dc.GetDeviceCaps(LOGPIXELSX);
screeny = dc.GetDeviceCaps(LOGPIXELSY);
printx = dc1.GetDeviceCaps(LOGPIXELSX);
printy = dc1.GetDeviceCaps(LOGPIXELSY);
ratex = (double)(printx)/screenx;
ratey = (double)(printy)/screeny;
//开始打印
dc1.StartDoc(_T("测量记录"));
//打印listbox每项
CString strLine;
CRect rectLine;
for(int i=0;i<iCount;i++)
{
m_listbox.GetItemRect(i,rectLine);
rectLine.left*=ratex;
rectLine.top*=ratey;
m_listbox.GetText(i,strLine);
dc1.TextOut(rectLine.left, rectLine.top, strLine);//向打印机输出每行文本
}
dc1.EndDoc();
}
ListBox控件变量:m_listbox;
<pre name="code" class="cpp">void Cstudy2008Dlg::OnBnClickedBtprint()
{
//print listbox
int iCount=m_listbox.GetCount();
if(iCount==0)
{
AfxMessageBox (L"没有数据记录要打印!" );
return;
}
CClientDC dc(this);//屏幕dc
//获取打印机DC
CPrintDialog m_printdlg(FALSE);
if (m_printdlg.DoModal()==IDOK)
{
CDC dc1;
dc1.Attach(m_printdlg.GetPrinterDC());//打印机dc
int screenx,screeny;
int printx,printy;
double ratex,ratey;
//确定打印机与屏幕的像素比率
screenx = dc.GetDeviceCaps(LOGPIXELSX);
screeny = dc.GetDeviceCaps(LOGPIXELSY);
printx = dc1.GetDeviceCaps(LOGPIXELSX);
printy = dc1.GetDeviceCaps(LOGPIXELSY);
ratex = (double)(printx)/screenx;
ratey = (double)(printy)/screeny;
//开始打印
dc1.StartDoc(_T("测量记录"));
//打印listbox每项
CString strLine;
CRect rectLine;
for(int i=0;i<iCount;i++)
{
m_listbox.GetItemRect(i,rectLine);
rectLine.left*=ratex;
rectLine.top*=ratey;
m_listbox.GetText(i,strLine);
dc1.TextOut(rectLine.left, rectLine.top, strLine);//向打印机输出每行文本
}
dc1.EndDoc();
}
}
相关文章推荐
- 完全指南:在 Linux 中如何打印和管理打印机
- 基于Silverlight打印的使用详解,是否为微软的Bug问题
- C#基本打印事件用法实例
- IE中用VBScript不提示直接打印的代码
- VC++ 中ListCtrl经验总结
- VC++实现程序开机启动运行的方法
- VC++中HTControl控件类的CHTSlider控制杆控件类简介
- VC++中HTControl控制类使用之CHTDlgBase对话框基类实例
- Vc++ 控件List Control用法总结
- MFC控件大小随窗体大小而改变
- VC++的if语句应用范围分析
- VC++在TXT文件指定位置追加内容的方法
- VC++植物大战僵尸中文版修改器实现代码
- JS调用打印方法设置页眉页脚的实例
- js console.log打印对像与数组用法详解
- C#读取文本文件到listbox组件的方法
- .net中实现listBox左右移动
- CISBitmap派生的VC++位图透明类实例
- C#实现让ListBox适应最大Item宽度的方法
- jQuery插件jquery-barcode实现条码打印的方法