📄 如何使用formula one 5.0的printdevmode属性.txt
字号:
Formula One 5.0的 PrintDevMode属 性 实 际 上 是 一 个 储 存 DEVMODE的 一 个 全 局 句 柄 。 下 面 是 Formula One 5.0的 开 发 者 Tidestone Technologies, Inc.提 供 给 我 的 一 段 例 子 (设 置 纸 张 大 小 为 A4), 使 用 C++写 的 , 供 你 参 考 。
///////////////////////// Solution ///////////////////////////////////
///// Note: only call once (for instance when the F1Book is initialized)
///// Access devmode dierctly from F1 book after that
void SetA4Paper(CWinApp& myApp,CF1Book& book)
{
PRINTDLG pd; pd.lStructSize = (DWORD) sizeof(PRINTDLG);
myApp.GetPrinterDeviceDefaults(&pd);
HGLOBAL hAppDevMode, hGridDevMode;
LPDEVMODE pAppDevMode, pGridDevMode;
hAppDevMode = pd.hDevMode;
pAppDevMode = (LPDEVMODE)::GlobalLock(hAppDevMode);
if (pAppDevMode)
{
hGridDevMode = ::GlobalAlloc(GHND, pAppDevMode->dmSize +
pAppDevMode->dmDriverExtra);
pGridDevMode = (LPDEVMODE)::GlobalLock(hGridDevMode);
//pAppDevMode = (LPDEVMODE)::GlobalLock(hAppDevMode);
CopyMemory(pGridDevMode, pAppDevMode, pAppDevMode->dmSize +
pAppDevMode->dmDriverExtra);
pGridDevMode->dmPaperSize=DMPAPER_A4;
// Unlock memory handles.
GlobalUnlock(hAppDevMode);
GlobalUnlock(hGridDevMode);
book.SetPrintDevMode((long) hGridDevMode);
}
}
<END>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -