如何用程序将打印机的分辩率设置成300dpi和600dpi?(300分)

  • 主题发起人 WangZhaoHui
  • 开始时间
W

WangZhaoHui

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是HP 1200打印机,它的最低分辨率是600dpi,我可以用程序将它设置成300dpi吗?
 
用 setprinter 试试!
应该只有四种级别的分辩率:
DMRES_HIGH
DMRES_MEDIUM
DMRES_LOW
DMRES_DRAFT
 
看看delphi5高级指南就知道了[:)]
 
to jsxjd:能不能给段代码啊?我也是初学打印。
 
var
sDrv: Pchar;
sPrt: Pchar;
DevAdr: THandle;
p: PDeviceModeA;
begin
sdrv := allocmem(256);
sprt := allocmem(64);
devadr := 0;
try
printer.GetPrinter(sdrv, sdrv, sprt, devadr);
p := ptr(devadr);
p^.dmFields := DM_PAPERSIZE;
p^.dmLogPixels:=300;
// p^.dmLogPixels
// ShowMessage(IntToStr(p^.dmLogPixels));
//ShowMessage(IntToStr(p^.dmPelsHeight));
// printer.SetPrinter(sdrv, sdrv, sprt, devadr);
do
cumentProperties(0, printer.handle, sdrv, p^, p^,
DM_IN_BUFFER);
finally
freemem(sdrv, 256);
freemem(sprt, 64);
end;
end;
怎样用setprinter将改动存回去啊?
 
多人接受答案了。
 
顶部