资 源 简 介
VC++ 获得打印页面信息,主要是获得打印页面宽度、高度、物理页面宽度、高度、上、下、左、右页边距等信息。不想下载完整源码包的,可先看下面的核心代码段:
//打印对话框
DWORD dwFlags = PD_ALLPAGES | PD_USEDEVMODECOPIES | PD_NOPAGENUMS
| PD_NOSELECTION | PD_HIDEPRINTTOFILE;
CPrintDialog dlg(FALSE);
if (dlg.DoModal() == IDOK)
{
//获得打印机DC
HDC hDC = dlg.GetPrinterDC();
if (hDC == NULL)
{
return;
}
//通过HDC获得CDC指针
CDC* pDC = CDC::FromHandle(hDC);
//获得打印页面宽度
int nHorzSize = pDC->GetDeviceCaps(HORZRES);
//获得打印页面高度
int nVertSize = pDC->GetDeviceCaps(VERTRES);
//获得物理页面宽度
int nWidth = pDC->GetDeviceCaps(PHYSICALWIDTH);
//获得物理页面高度
int nHeight = pDC->GetDeviceCaps(PHYSICALHEIGHT);
//获得左、右边距
int nOffsetX = pDC->GetDeviceCaps(PHYSICALOFFSETX);
//获得上、下边距
int nOffsetY= pDC->GetDeviceCaps(PHYSICALOFFSETY);
CString strText = _T("");
strText.Format(_T("%s%d
%s%d
%s%d
%s%d
%s%d
%s%d"),
_T("打印页面宽度:"), nHorzSize,
_T("打印页面高度:"), nVertSize,
_T("物理页面宽度:"), nWidth,
_T("物理页面高度:"), nHeight,
_T("左右