使用带有c ++的Windows GDI获取页面尺寸和页脚

时间:2014-08-28 02:38:32

标签: c++ winapi gdi

使用GDI打印功能和HDC变量,如何获取打印页面区域并打印页脚?

我知道首先需要计算边距,如下所示:

margins.left   = MulDiv(rcMargin.left,   GetDeviceCaps(hDC, LOGPIXELSX), 1000);
margins.top    = MulDiv(rcMargin.top,    GetDeviceCaps(hDC, LOGPIXELSY), 1000);
margins.right  = MulDiv(rcMargin.right,  GetDeviceCaps(hDC, LOGPIXELSX), 1000);
margins.bottom = MulDiv(rcMargin.bottom, GetDeviceCaps(hDC, LOGPIXELSY), 1000);

然后计算保证金调整:

int iLeftAdjust   = margins.left  - iPhysOffsetX;
int iTopAdjust    = margins.top   - iPhysOffsetY;
int iRightAdjust  = margins.right - (iPhysWidth  - iPhysOffsetX - GetDeviceCaps(hDC, HORZRES));
int iBottomAdjust = margins.right - (iPhysHeight - iPhysOffsetY - GetDeviceCaps(hDC, VERTRES));

然后是设备单位的宽度和高度:

iWidth  = GetDeviceCaps(hDC, HORZRES) - (iLeftAdjust + iRightAdjust);
iHeight = GetDeviceCaps(hDC, VERTRES) - (iTopAdjust + iBottomAdjust);

我找到了一些信息here,但没有关于打印页脚的详细信息(使用TextOut)。

感谢。

0 个答案:

没有答案