Preview된 상태에서 원하는 Page만큼만 출력되게 하고싶은데 델파이 2.0에서 사용하던 FromPage, ToPage 속성이 안 먹히는군요. 델파이 4.0에서는 선택인쇄를 어떻게 하지요. 한가지 더 PrinterSettings에 있는 FirstPage, LastPage가 뭘 ...
구창민
•
1999.07.26 19:31
손연옥 께서 말씀하시기를...
> Preview된 상태에서 원하는 Page만큼만
> 출력되게 하고싶은데
> 델파이...
정근수
•
1999.07.26 18:57
손연옥 께서 말씀하시기를...
> Preview된 상태에서 원하는 Page만큼만
> 출력되게 하고싶은데
> 델파이...
> Preview된 상태에서 원하는 Page만큼만
> 출력되게 하고싶은데
> 델파이 2.0에서 사용하던
> FromPage, ToPage 속성이
> 안 먹히는군요.
> 델파이 4.0에서는 선택인쇄를 어떻게 하지요.
>
> 한가지 더 PrinterSettings에 있는
> FirstPage, LastPage가 뭘 의미하는 겁니까?
손연옥님 안녕하세요?
아래는 일전에 김영대님의 홈에서 퍼둔 소스입니다.
참조하시구, 즐거운 프로그래밍 되시길~
질문하신 선택영역 인쇄는 아래와 같습니다
그러나 QReport의 특성상 미리보기를 하기 전에는
최대 페이지를 알 수 없으므로 미리보기 없이
바로 인쇄할때는 영역 설정시 프로그래머가 직접
페이지수를 계산하여 알려주어야 합니다
아래 예제는 미리보기후 영역을 설정하는 소스입니다
with PrintDialog1 do
begin
Copies := 1;
FromPage := 1;
MinPage := 1;
ToPage := QRPreview1.QRPrinter.PageCount;
MaxPage := QRPreview1.QRPrinter.PageCount;
Options := [poPageNums, poSelection];
end;
if PrintDialog1.Execute then
begin
with PrintForm.QuickReport1 do
begin
PrinterSettings.Copies := PrintDialog1.Copies;
if PrintDialog1.PrintRange = prAllPages then
begin
PrinterSettings.FirstPage := PrintDialog1.MinPage;
PrinterSettings.LastPage := PrintDialog1.MaxPage;
end
else if PrintDialog1.PrintRange = prSelection then
begin
PrinterSettings.FirstPage := QRPreview1.PageNumber;
PrinterSettings.LastPage := QRPreview1.PageNumber;
end
else
begin
PrinterSettings.FirstPage := PrintDialog1.FromPage;
PrinterSettings.LastPage := PrintDialog1.ToPage;
end;
end;
Application.ProcessMessages;
PrintForm.QuickReport1.Print;
end;