关于设置Printer打印页面大小的问题???亟盼!亟盼!(50分)

  • 主题发起人 主题发起人 FlyBird78
  • 开始时间 开始时间
F

FlyBird78

Unregistered / Unconfirmed
GUEST, unregistred user!
现问题如下:当打印DBGrid中数据时,其结果打印出的东西,只占打印出页面的左上角一小部分。即:打印可以成功,然而打印出的东西太小了,可能用放大镜也看不清楚,如何解决??亟盼!亟盼!
if PrintDialog1.Execute then
begin
if (PageControl1.ActivePage = TabSheet1) then
begin
PrintDialog1.Options := [poPrintToFile, poPageNums, poSelection, poWarning, poHelp, poDisablePrintToFile];
with Printerdo
begin
begin
Doc;
DBGrid1.PaintTo(Handle, 10, 10);
EndDoc;
end;
end;
end;
 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
procedure PrintPapersize(Width,Length:integer);
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.GetPrinter(Device,Driver,Port,hDMode);
if hDMode <> 0 then
begin
pDMode := GlobalLock(hDMode);
if pDMode <> nil then
begin
pDMode^.dmPaperSize := 256;
pDMode^.dmPaperLength :=Length ;
pDMode^.dmPaperWidth := Width;
pDMode^.dmFields :=pDMode^.dmFields or DM_PAPERSIZE;
pDMode^.dmFields :=pDMode^.dmFields or DM_PAPERLENGTH;
pDMode^.dmFields :=pDMode^.dmFields or DM_PAPERWIDTH;
ResetDC(Printer.Handle,pDMode^);
GlobalUnlock(hDMode);
end;
end;
 
多人接受答案了。
 
后退
顶部