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(_