|
일단 텍스트데이터를 TListBox 나 TMemo에 불러왔다고 가정하고 설명하겠습니다.
1 메인폼 외에 프린트를 위한 폼을 하나 생성하세요.
TQuickRep 를 하나 얹습니다.
Object Inspector 에서 TQuickRep->Page->Columns 를 4 로 합니다.(4개의 칼럼으로 만듭니다)
TQuickRep 위에 TQRBand 를 하나 두고 BandType을 rbDetail 로 합니다.
TQRBand 의 Height 를 적당히 조정하여 한 페이지에 12 줄 씩 되도록 만듭니다.
TQRBand 위에 TQRLabel 을 필요한 만큼 둡니다.
2 코드를 다음처럼 만듭니다.
2.1 전역변수 또는 멤버하나 선언
int cur_line = 0;
2.2 TQuickRep 의 OnNeedData
if( cur_line < Form1->Memo1->Lines->Count )
QRLabel1->Caption = Form1->Memo1->Lines->Strings[cur_line];
cur_line++;
MoreData = cur_line <= Form1->Memo1->Lines->Count;
2.2 TQuickRep 의 OnBeforePrint
cur_line = 0;
PrintReport = Form1->Memo1->Lines->Count > 0;
3 메인폼에서 출력버튼의 OnClick 에 다음과 같이 넣어줍니다.
Form2 = new TForm2(this);
Form2->QuickRep1->Print();
delete Form2;
# Form1 과 Form2 는 서로 헤더를 포함해야 데이터를 참조할 수 있습니다.
주우~ 님이 쓰신 글 :
: c++builder는 처음이고 c도 기초만 압니다. 워낙 초보라 질문을 어떻게 해야 할지 몰라
: 검색 해서 알려고 몇일 기다리다 빨리 해야해서 더듬 더듬 질문 올려보겠습니다.
:
: 텍스트 문서에 회원번호가 한 줄에 하나씩 적혀 있습니다. 이를 불러와 가로4개,세로 12줄
: 한 페이지에 48개씩 출력 하려고 합니다.
: 그러니까 다시 질문하면 qreport에서 text에 있는것을 한 줄씩 읽어 들이는 방법입니다.
:
: 어디서 부터 알려 줘야 할지 막막하겠지만 하나씩이라도 알려 주시면 많은 도움이 될것
: 입니다. 불러서 가르쳐 주시면 더욱 좋습니다. 서울이면 제가 가겠습니다.^^
: 혹은 관련 소스라도 부탁 드립니다.
|