程序中如何控制打印机的纸张?

hong_qi 2002-07-21 11:14:39
程序运行时,打印机的纸张类型总是默认为 A4, 我想用 A3,
不知如何控制?
...全文
86 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hong_qi 2002-07-22
  • 打赏
  • 举报
回复
多谢牛仔,我回去试试再说。
hong_qi 2002-07-22
  • 打赏
  • 举报
回复
我已用牛仔兄的代码调试成功,(winxp,cb6,AR3200+)
谢谢牛仔,谢谢大家,给我解决了一个大问题。

给分结贴。
hbxtx 2002-07-21
  • 打赏
  • 举报
回复
直接调用PrinterSetupDialog1->Execute()设置不就可以了.
sglqh 2002-07-21
  • 打赏
  • 举报
回复
其实你只要在控制面板中将打印机纸张设为A3就可以了,在程序里控制有些打印机会不认,可能是打印驱动的问题。(一些老打印机)
niu_zai 2002-07-21
  • 打赏
  • 举报
回复
void SetPaperSize(TPrinter *prn)
{
char ADevice[256], ADriver[256], APort[256];
THandle DeviceMode;
PDeviceMode DevMode;

prn->GetPrinter(ADevice, ADriver, APort,DeviceMode);
DevMode =(_devicemodeA*) GlobalLock((void *)DeviceMode);
DevMode->dmFields = DevMode->dmFields|DM_PAPERSIZE;
DevMode->dmPaperSize=DMPAPER_A3
GlobalUnlock((void *)DeviceMode);
prn->SetPrinter(ADevice, ADriver, APort,DeviceMode);
}
hong_qi 2002-07-21
  • 打赏
  • 举报
回复
谢谢大家,我的意思是不要调用PrinterSetupDialog1->Execute()设置,
只要用户想打印,不用设置,总是固定为 A3
我不懂电脑 2002-07-21
  • 打赏
  • 举报
回复
PrinterSetupDialog1

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧