怎么在程序里控制打印页面的大小,系统默认的是A4。谢谢
解决方案 »
- 如何屏蔽控件的事件
- DELPHI7中SOCKETCLIENT/SOCKETSERVER控件在哪里???
- 这是什么错误啊.....
- 如何读出TFont中的值,并将其保存为文本型,下次运行时读取!
- 菜鸟女:如何将integer数组的值用动态adoquery的SQL insert语句插入数据库?????????
- 一个比较菜的问题,希望给答复
- 结构相同的2个表复制记录问题
- 1000分求救,请“斑竹”和各位“Delphi高手”入内, 提供类似该问题精彩控件下载网址者,也有分哦!
- dbgrideh的hidedupelicates属性的问题
- com中产生“EOleException with message‘灾难性故障’”,向各位网友请教是怎么回事?怎么解决?
- 在MDI 中,得知一个子窗体的标题,如何通过发消息的方式,让它置前?
- treeview中点中节点,如何知道它的id?
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;
-----------
if Printer.Printers.Count < 1 then
begin
Application.MessageBox('未安装打印机,请先安装打印机!','提示',MB_ICONWARNING + MB_OK);
Exit;
end;
Printer.Copies := 5; //打印份数
Printer.Orientation := poPortrait; //纸张方向
Printer.PageHeight := 200;//纸张高度
Printer.PageWidth := 100; //纸张宽度
Printer.BeginDoc; //准备打印
Printer.EndDoc; //开始打印
要是QReport的话,则:
QReport.Page.PaperSize:=Custom;
QReport.Page.Width:=WidthValue;
QReport.Page.Length:=LenValue;