1. TChart에서 PrintPreview에대한 메소드는 따로 없습니다..
직접 만드시거나.. ^^;
아님, TChart 컴포넌트를 구매하시면 Preview 기능을 가진 컴포넌트가 있습니다..
2. 제가 사용했던 코드입니다.. 프로퍼티나 메소드는 헬프를 참고하시구여..
//-----------------------------------------------------------------------------------
// 아래와 같이 프린트 됩니다..
//-----------------------------------------------------------------------------------
//
// [ Center Title ]
//
// Chart graph
//
// [ Left Footer ] [Right Footer]
//
//-----------------------------------------------------------------------------------
int w, h, unitX, unitY, txtWidth;
String str;
TRect rc;
// Chart 설정
Chart1->PrintProportional = false; Chart1->PrintResolution = -100;
// printer 설정
Printer()->Canvas->Font->Name = "MS Sans Serif";
Printer()->Canvas->Font->Size = 8;
Printer()->Canvas->Font->Style = TFontStyles();
Printer()->Orientation = Printers::poLandscape;
Printer()->BeginDoc();
try {
w = Printer()->PageWidth; h = Printer()->PageHeight;
unitX = w / 100; unitY = h / 100;
// center titile
str = "[ Center Title ]";
txtWidth = Printer()->Canvas->TextWidth(str);
Printer()->Canvas->TextOut(w/2 - txtWidth/2, 2*unitY, str);
// left footer
str = "[ Left Footer ]";
Printer()->Canvas->TextOut(2*unitX, h - 2*unitY, str);
// right footer
str = "[ Right Footer ]";
txtWidth = Printer()->Canvas->TextWidth(str);
Printer()->Canvas->TextOut(w - 2*unitX - txtWidth, h - 2*unitY, str);
// Print Chart
rc = TRect(2*unitX, 4*unitY, w - 2*unitX, h - 4*unitY);
Chart1->PrintPartialCanvas(Printer()->Canvas, rc);
}
__finally {
Printer()->EndDoc();
}
//-----------------------------------------------------------------------------------
우시관 님이 쓰신 글 :
: TChart 에 대한 질문인니다...
: Q&A를 찾아보니
: 1. TChart에서 Preview에 대한 질문은 있는데 답변은 찾을수가 없네요.
: TChart에서는 print preview 에 대한 메서드는 없는건가요?
: 있다면 어떤건가요?
: 2. TChart에서 프린트 문제입니다.
: 그냥 Chart1->Print();
: 위 방법으로 프린트를 해 왔는데
: 프린트 부분에
: 다른 문자들을 넣고 싶습니다.
: 예를 들자면...
: ******************* // 넣고 싶은 문자부분...
: *******************
: Chart graph
: *******************
: *******************
: 위와 같이 처리하려면 어떻게 해야 되나요...?
: 짧은 제 생각이지만...
: pannel 위에 TChart와 Tmemo 컴포넌트를 넣고 하면 어떻까 생각은 해 봤는데...
: 생각되로 잘 되질 않네요...
: 또 그렇게 하려고 하니까...
: 그래프 부분도 많은 문제가 되고요...
: 위 그림처럼 다른 그림이나 문자를 넣어서(겹치지 않게) 프린트 하는 방법은 없을까요...?
: 답변 부탁드립니다...(언제나 이런 말을 쓰지 않게 될런지....)
|