크기가 다른 여러종류의 레포트를 인쇄해야해서, 퀵레포트 인쇄시 용지사이즈를 바꾸도록 코딩하여 사용하고 있습니다.
//
Printer.PrinterIndex := Printer.PrinterIndex;
Printer.GetPrinter(Device, Driver, Port, hDMode);
if hDMode <> 0 then
begin
pDMode := GlobalLock(hDMode);
if pDMode <> nil then
begin
pDMode^.dmOrientation := DMORIENT_PORTRAIT;
pDMode^.dmFields := pDMode^.dmFields or
DM_ORIENTATION or
DM_PAPERSIZE or
DM_PAPERWIDTH or
DM_PAPERLENGTH;
pDMode^.dmPaperSize := DMPAPER_USER;
pDMode^.dmPaperWidth := 180; {단위는 mm}
pDMode^.dmPaperLength := 140; {단위는 mm}
GlobalUnlock(hDMode);
end;
end;
Printer.PrinterIndex := Printer.PrinterIndex;
//
문제는 windows98사용시는 아무 문제없었는데, os를 windows me로 바꾸고나니 인쇄가 안됩니다. os와 사용자 정의 용지지정과 무슨 관련이있나요?
> 크기가 다른 여러종류의 레포트를 인쇄해야해서, 퀵레포트 인쇄시 용지사이즈를 바꾸도록 코딩하여 사용하고 있습니다.
> //
> Printer.PrinterIndex := Printer.PrinterIndex;
> Printer.GetPrinter(Device, Driver, Port, hDMode);
> if hDMode <> 0 then
> begin
> pDMode := GlobalLock(hDMode);
> if pDMode <> nil then
> begin
> pDMode^.dmOrientation := DMORIENT_PORTRAIT;
> pDMode^.dmFields := pDMode^.dmFields or
> DM_ORIENTATION or
> DM_PAPERSIZE or
> DM_PAPERWIDTH or
> DM_PAPERLENGTH;
> pDMode^.dmPaperSize := DMPAPER_USER;
> pDMode^.dmPaperWidth := 180; {단위는 mm}
> pDMode^.dmPaperLength := 140; {단위는 mm}
> GlobalUnlock(hDMode);
> end;
> end;
>
> Printer.PrinterIndex := Printer.PrinterIndex;
> //
>
> 문제는 windows98사용시는 아무 문제없었는데, os를 windows me로 바꾸고나니 인쇄가 안됩니다. os와 사용자 정의 용지지정과 무슨 관련이있나요?
제가 2000에서 해봤는데..죽었다 깨나두..안돼거든요..
근데..me에서두 안돼나요?
사용자정의는 지원이 안된다나 머라나..암튼 그렇데요..
근데 폰트는 그대로 이던가요?