F
fjw
Unregistered / Unconfirmed
GUEST, unregistred user!
我想获取当前打印机支持的最大纸张长度与宽度,看了DeviceCapabilitiesA函数的帮助,得知可以取得,但却不会用,如有熟悉的大侠,请指教,谢谢!
先说说我的用法:
var
Device, Driver, Port: array [0..255] of char;
ADevMode: THandle;
Rslt: integer;
pxy : TPoint;
begin
Printer.GetPrinter(Device, Driver, Port, ADevMode);
Rslt:=DeviceCapabilitiesA(Device, Port, DC_MAXEXTENT, nil, nil);
if Rslt>0 then
begin
if DeviceCapabilitiesA(Device, Port, DC_MAXEXTENT, @pxy, nil)=-1 then
raise Exception.Create('Devcap Error!');
end;
得到最大纸宽: pxy.X
最大纸长: pxy.Y
不知以上运用是否正确,可我每次取得的数X和Y都是1,不知错在哪里,请高手指教!
先说说我的用法:
var
Device, Driver, Port: array [0..255] of char;
ADevMode: THandle;
Rslt: integer;
pxy : TPoint;
begin
Printer.GetPrinter(Device, Driver, Port, ADevMode);
Rslt:=DeviceCapabilitiesA(Device, Port, DC_MAXEXTENT, nil, nil);
if Rslt>0 then
begin
if DeviceCapabilitiesA(Device, Port, DC_MAXEXTENT, @pxy, nil)=-1 then
raise Exception.Create('Devcap Error!');
end;
得到最大纸宽: pxy.X
最大纸长: pxy.Y
不知以上运用是否正确,可我每次取得的数X和Y都是1,不知错在哪里,请高手指教!