//得到最大的纸张尺寸
procedure TfrmPrint.getMaxPageSize;
var
MaxPage:integer;
szDriver,szDeviceName,szPort:String;//Array[0..255] of char;
DM:THandle;
begin
SetLength(szDeviceName,256);
SetLength(szDriver,256);
SetLength(szPort,256);
Printer.GetPrinter(PChar(szDeviceName),PChar(szDriver),PChar(szPort),DM);
if DM = 0 then
Raise Exception.Create('不能初始化打印机!');
MaxPage:=DeviceCapabilities(PChar(szDeviceName), PChar(szPort), DC_MAXEXTENT,nil,nil);
//DC_MAXEXTENT改为DC_MINEXTENT就可以获得最小尺寸
PageMaxWidth:=LOWORD(MaxPage);
PageMaxHeight:=HIWORD(MaxPage);
end;
这段代码定义了一个名为getMaxPageSize的过程,用于获取打印机的最大纸张尺寸。通过调用Printer.GetPrinter获取打印机信息,若初始化失败则抛出异常。使用DeviceCapabilities函数获取最大尺寸,并将宽度和高度分别赋值给PageMaxWidth和PageMaxHeight。
2万+

被折叠的 条评论
为什么被折叠?



