안녕하세요~? 누리빛입니다.
우선 PageHeight, PageWidth 를 PaperLength, PaperHeight로 잘 못
쓰신걸로 알고 답변 드리겠습니다.
1.0에서는 PaperLength, PaperHeight라는 Property는 없는 것 같은데...
사실 제가 퀵 레포트를 잘 안써서....
어쨌건 PageHeight, PageWidth라고 하더라도 이것은 Read Only로 되어
있기 때문에 거기에 값을 집어넣을 수는 없답니다.
대신에 직접 프린터 정보를 바꿔주는 일을 해 주시면 어떨런지...
프린터 용지를 바꿔주는 함수를 하나 올리죠...
// 용지 크기 설정
procedure SetPaperSize( ASize : string );
var
ADevice, ADriver, APort: array[0..200] of Char;
ADeviceMode: THandle;
ADevMode : PDeviceMode;
iSize : integer; // 용지 크기
begin
iSize := 259;
if ASize = '80' then iSize := 258
else if ASize = '136' then iSize := 259
else if ASize = 'A4' then iSize := DMPAPER_A4
else if ASize = 'A3' then iSize := DMPAPER_A3
else if ASize = 'B4' then iSize := DMPAPER_B4
else if ASize = 'B5' then iSize := DMPAPER_B5
else _ShowMessage('지원되지 않는 파라미터입니다.');
Printer.GetPrinter(ADevice,ADriver,APort,ADeviceMode);
Printer.SetPrinter(ADevice,ADriver,APort,ADeviceMode);
Printer.GetPrinter(ADevice,ADriver,APort,ADeviceMode);
ADevMode := GlobalLock(ADeviceMode);
ADevMode^.dmPaperSize := iSize;
GlobalUnLock(ADeviceMode);
Printer.SetPrinter(ADevice,ADriver,APort,ADeviceMode);
end;
그럼 좋은 하루 되세요....
|