Chart1->Legend->LegendStyle = lsSeries ;
이거 한줄 추가해 주세요....
수달 님이 쓰신 글 :
: 개발환경: C++ Builder XE5
:
: TeeChart를 이용하여 Chart를 그리는데,
: Legend가 이상하게 나옵니다.
:
: Series가 3개 있고,
: Series를 모두 표기할 때는 Legend(범례)가 잘나오는데,,
: Series를 하나만 표기할 때는 Legend에 Chart에 사용된 값(Value값)이 출력됩니다.
: 코드는 아래와 같은데요..
: Series 하나만 나올 때.. Legend에 이 값이 수온, DO, pH 값이다라라고 안내만 해주려고 하는데..
: 어디가 문제인 지 찾지를 못하겠습니다.
: 고수님들의 도움을..
: 감사합니다.
:
:
: // Series Clear ---------------------------------------------------------
: Series1->Clear(); //표층
: Series2->Clear(); //중층
: Series3->Clear(); //하층
: int ChartCount = 3;
: // 상황에 따라 Series를 감춘다.
: if ( SiteID == "A" || SiteID == "B" ) {
: if ( enTempSaliFlag == enTempFlag || enTempSaliFlag == enSaliFlag ) { //=> Chart 3EA
: Series1->Visible = true;
: Series2->Visible = true;
: Series3->Visible = true;
: ChartCount = 3;
: } else { // enDepthFlag, enDOFlag, enPHFalg => Chart 1 EA
: Series1->Visible = true;
: Series2->Visible = false;
: Series3->Visible = false;
: ChartCount = 1;
: }
: } else { // Site => C, D
: Series1->Visible = true;
: Series2->Visible = false;
: Series3->Visible = false;
: ChartCount = 1;
: }
: //
: // Chart에 값을 추가하는 로직...
: // .......
: Chart->Title->Caption = (enTempSaliFlag == enTempFlag) ? "수온" : \
: ((enTempSaliFlag == enSaliFlag ) ? "염도" : \
: ((enTempSaliFlag == enDepthFlag ) ? "수위" : \
: ((enTempSaliFlag == enDOFlag ) ? "DO" : \
: ((enTempSaliFlag == enPHFlag ) ? "pH" : ""))));
: if ( enTempSaliFlag == enTempFlag || enTempSaliFlag == enSaliFlag ) {
: Series1->LegendTitle = "표층";
: Series2->LegendTitle = "중층";
: Series3->LegendTitle = "하층";
: } else { // Series가 하나만 있을 때 해당 범례를 표기하고 싶은데.. 이상하게 나옴(Chart의 데이터값이 출력)
: Series1->LegendTitle = (enTempSaliFlag == enTempFlag) ? "수온" : \
: ((enTempSaliFlag == enSaliFlag ) ? "염도" : \
: ((enTempSaliFlag == enDepthFlag ) ? "수위" : \
: ((enTempSaliFlag == enDOFlag ) ? "DO" : \
: ((enTempSaliFlag == enPHFlag ) ? "pH" : ""))));
: Series2->LegendTitle = "";
: Series3->LegendTitle = "";
: }
:
:
|