如题。
解决方案 »
- 32位操作系统中写的一个windows服务为什么运行不了?
- 关于刷新!
- ADOQuery查询结果能不能作为的二次查询的表格?
- 1:小小进来拿分哦
- 初学delphi,一段小代码请大家帮忙解释下!
- AC Report中式报表里的子报表问,请大家帮帮小弟
- [求助]请教高手~关于Class ComboBox的问题
- 100分求助,有谁知道哪里有比较齐全的控件,例如INFOPOWER,REPORTBUILDER等
- 求用Delphi生成EXE的原程序谢谢!
- 救救我吧!我用ADO方法打开Access数据库,为什么他老要我输入用户名和密码!!!
- 如何更改数据库表的读写属性?
- 关于ReportBuilder的合并和输出的两个问题
QuickRep1.Page.Orientation := poLandScape
printers;
procedure TForm1.FormCreate(Sender: TObject);
begin
printer.Orientation := poLandScape
// ....... your printer action.
end;
quickrep1.Page.Orientation:=polandscape(potrait);
printer.GetPrinter(device,driver,port,adevmode);
if adevmode<>0 then
begin
devmode:=globallock(adevmode);
try
devmode^.dmFields:=devmode^.dmFields or dm_papersize or dm_orientation;
devmode^.dmpapersize:=DMPAPER_A3;
devmode^.dmOrientation :=dmorient_portrait;
// devmode^.dmpapersize:=DMORIENT_LANDSCAPE;
Printer.SetPrinter(Device,Driver,Port,aDevmode);
finally
globalunlock(adevmode);
end;
end
我真急死了。
var
Device: array[0..255] of char;
Driver: array[0..255] of char;
Port: array[0..255] of char;
hDMode: THandle;
PDMode: PDEVMODE;
begin
//设置打印机
try
Printer.PrinterIndex := Printer.PrinterIndex;
Printer.GetPrinter(Device, Driver, Port, hDMode);
if hDMode <> 0 then
begin
pDMode := GlobalLock(hDMode);
if pDMode <> nil then
begin
if pagesize=Custom then
begin
//设定自定义纸张
pDMode^.dmFields := pDMode^.dmFields or
dm_PaperSize or
DM_PAPERWIDTH or
DM_PAPERLENGTH; pDMode^.dmPaperSize := 0;
pDMode^.DMPAPERWIDTH:= width*10 ;
pDMode^.DMPAPERLENGTH:=height*10;
end
else
begin
//设定纸张类型
pDMode^.dmFields := pDMode^.dmFields or
DM_PAPERSIZE ;
if pagesize=A3 then pDMode^.dmPaperSize := DMPAPER_A3;
if pagesize=A4 then pDMode^.dmPaperSize := DMPAPER_A4;
if pagesize=A5 then pDMode^.dmPaperSize := DMPAPER_A5;
if pagesize=B4 then pDMode^.dmPaperSize := DMPAPER_B4;
if pagesize=B5 then pDMode^.dmPaperSize := DMPAPER_B5;
if pagesize=CSheet then pDMode^.dmPaperSize := DMPAPER_CSheet;
if pagesize=Executive then pDMode^.dmPaperSize := DMPAPER_Executive;
if pagesize=Letter then pDMode^.dmPaperSize:= DMPAPER_Letter;
end;
printer.Orientation:=Orientation;
GlobalUnlock(hDMode);
end;
end ;
Printer.PrinterIndex := Printer.PrinterIndex;
except
showmessage('没有默认选择打印机,或默认打印机不可使!');
exit;
end;
end;