如何取得默认打印机的纸张类型及其长宽 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 procedure SetRepPaperType(Const rpForm: TForm;var lvQrp:TQuickRep);var dlvWidth,dlvLength: Integer;begin dlvWidth := Trunc(Printer.PageWidth * (GetDeviceCaps(rpForm.Canvas.Handle, LOGPIXELSX) / GetDeviceCaps(Printer.Handle, LOGPIXELSX))); dlvLength := Trunc(Printer.PageHeight * (GetDeviceCaps(rpForm.Canvas.Handle, LOGPIXELSY) / GetDeviceCaps(Printer.Handle, LOGPIXELSY))); if lvQrp <> nil then begin lvQrp.Page.Orientation:=printer.Orientation; lvQrp.Page.papersize:=Custom; lvQrp.Units := pixels; lvQrp.Page.width:= dlvWidth; lvQrp.Page.length:= dlvLength; end;end;可以参考以上的代码 procedure TForm1.Button1Click(Sender: TObject);var Device: Array[0..(cchDeviceName -1)] of char; Driver: Array[0..(MAX_PATH -1)] of char; Port: Array[0..32] of char; HDMode : THandle; PDMode: PDevMode;begin Printer.PrinterIndex := Printer.PrinterIndex ; Printer.GetPrinter(Device,Driver,Port,HDMode); if HDMode <> 0 then begin PDMode := GlobalLock(HDMode); if PDMode <> nil then begin case pDMode.dmPaperSize of DMPAPER_USER: showmessage('纸张类型:自定义'); DMPAPER_A3: showmessage('纸张类型:A3'); DMPAPER_A4: showmessage('纸张类型:A4'); DMPAPER_A5: showmessage('纸张类型:A5'); DMPAPER_B4: showmessage('纸张类型:B4'); DMPAPER_B5: showmessage('纸张类型:B5'); else showmessage('纸张类型:其它'); end; GlobalUnLock(HDMode); Printer.PrinterIndex := Printer.PrinterIndex; end; end;end; 用delphi如何写vpn拔号连接,有无控件或例程 dbgrid组件怎么显示access表??~ 如何有选择地清除IE地址栏中的网址 请问一个关于存储过程的小问题?在线等待!!! string类型怎么转换到pchar adoquery数据集更新多表问题? 大虾帮忙啊,我在一个过程中在调用另一个事件(自带参数)的时候,参数怎么设置?谢谢 关于状态对象和无状态对象的提问!! 电子地图 急!!!!通信问题 ado的Parameters问题。 谁帮我看一下这段代码,是关于文件存储的
var
dlvWidth,dlvLength: Integer;
begin
dlvWidth := Trunc(Printer.PageWidth * (GetDeviceCaps(rpForm.Canvas.Handle,
LOGPIXELSX) / GetDeviceCaps(Printer.Handle, LOGPIXELSX)));
dlvLength := Trunc(Printer.PageHeight * (GetDeviceCaps(rpForm.Canvas.Handle,
LOGPIXELSY) / GetDeviceCaps(Printer.Handle, LOGPIXELSY)));
if lvQrp <> nil then
begin
lvQrp.Page.Orientation:=printer.Orientation;
lvQrp.Page.papersize:=Custom;
lvQrp.Units := pixels;
lvQrp.Page.width:= dlvWidth;
lvQrp.Page.length:= dlvLength;
end;
end;
可以参考以上的代码
var
Device: Array[0..(cchDeviceName -1)] of char;
Driver: Array[0..(MAX_PATH -1)] of char;
Port: Array[0..32] of char;
HDMode : THandle;
PDMode: PDevMode;
begin
Printer.PrinterIndex := Printer.PrinterIndex ; Printer.GetPrinter(Device,Driver,Port,HDMode); if HDMode <> 0 then
begin
PDMode := GlobalLock(HDMode); if PDMode <> nil then
begin
case pDMode.dmPaperSize of
DMPAPER_USER: showmessage('纸张类型:自定义');
DMPAPER_A3: showmessage('纸张类型:A3');
DMPAPER_A4: showmessage('纸张类型:A4');
DMPAPER_A5: showmessage('纸张类型:A5');
DMPAPER_B4: showmessage('纸张类型:B4');
DMPAPER_B5: showmessage('纸张类型:B5');
else showmessage('纸张类型:其它');
end;
GlobalUnLock(HDMode);
Printer.PrinterIndex := Printer.PrinterIndex;
end; end;
end;