|
빌더를 조금 사용했습니다만 많은 기능들을 접하지 않아
아직도 특정 기능을 넣을려면 헤매고 있는 사람입니다.
질문은 다음과 같습니다.
A라는 폼에 String Grid를 만들어 놓고 DB의 데이터를 String Grid에 채웠습니다.
그러다 보니 A라는 폼의 사이즈가 작다보니 String Grid의 내용이 많아 스크롤바를 이용하여
아래로 내려야 그 다음 데이터를 볼수 있습니다.
이때 프린터 기능을 이용하여 A폼에 있는 내용을 프린터 하는데
실제 프린터 된 내용을 보면 현재 화면상의 폼에 나와 있는 데이터만 프린터 하고
스크롤바로 움직여 보이는 다음 데이터는 프린터가 되지 않아요.
저는 실제 화면에 보이지 않는 데이터라도 한번 프린터를 수행하면 A4용지에 모두 프린터 되었으면 하는데 어떻게 해야 하나요?
실제 프린터하는것과 똑 같은 방법(프린터 시 전체를 선택하면 모든 문서가 프린터 되는것 처럼)으로 하고 싶습니다.
참고로 저는 PrintDIB 콤포넌트를 사용하고 있습니다.
아래는 저의 소스이고요?
고수님들 좀 가르켜 주세요.
void __fastcall TAForm::btnPrintClick(TObject *Sender)
{
Graphics::TBitmap *FormImage = new Graphics::TBitmap();
FormImage = GetFormImage(); //get form image
int target_width = Printer()->PageWidth;
int target_height = FormImage->Height * (Printer()->PageWidth / FormImage->Width);
Printer()->Title = "print-out";
Printer()->BeginDoc();
//Printer()->Canvas->Draw(5, 300, FormImage);
PrintDIB1->StretchDrawDIB(Printer()->Canvas, 5, 300, target_width-5, target_height-5, FormImage);
Printer()->EndDoc();
delete FormImage;
}
|