2014-07-18 3 views
0

IDE에 계열을 가지고하는 방법 : c++ Builder XE5 Update 2의 TeeChart : 전면

의 TeeChart 빌드 : 나는 당신이 일반적으로하는 것처럼 (전면에 TChart 구성 요소의 특정 시리즈를 가지고 노력하고 2014.11.140512

BringToFront() 기능).

좀 읽기를 수행하고 다음 옵션/제안을 발견했습니다

A.이 시리즈의 ZOrder 속성을 변경하십시오. 사용 TChart.ExchangeSeries()

B. 사용 TChart.ExchangeSeries()

일련의 z 순서를 변경하는 적절한 방법이 아니다. 그것의 주된 기능은 TChart 구성 요소의 SeriesList (이 시리즈의 본질적으로 z 순서를 변경 함)에서 두 개의 계열을 교환하는 것입니다. 시리즈 순서가 고정되어 있어야합니다 (고정 주문은 SeriesList). 그러면 작동하지 않습니다.

시리즈의 ZOrder 속성을 변경하면 더 나은 결과를 얻을 수 있습니다. 그러나 첫 번째 시리즈 (Series[0])의 ZOrder을 변경하면 분명히 아무런 효과가 없습니다. Series[0]은 수업 뒤에서 앉아있는 것처럼 보입니다.

위의 내용은 구현 한 결과 일 수 있습니다. 어떤 경우에, 좀 더 자세한 내용 :

TChart 구성 요소에 여러 시리즈가 있습니다. 시리즈 유형은 동적으로 변경할 수 있습니다. 계열을 변경할 수있는 유형은 TLineSeriesTBarSeries으로 제한됩니다.

항상 TLineSeries이 앞면에 표시됩니다.

어떻게 수행 할 수 있습니까?

(우리가 이제까지 애매 TChartSeries.BringToFront() 기능을 볼 수 있을까?) :

답변

0

이 작업을 수행 할 수있는 방법에 대한 조언?

시리즈 스타일을 혼합하고 ZOrder를 변경하는 것이 잘 작동하지 않는 것 같습니다. 예를 들어이 코드 스 니펫을 사용하면 다음과 같습니다.

uses Series; 

procedure TForm1.FormCreate(Sender: TObject); 
begin 
    Chart1.AddSeries(TLineSeries.Create(Self)).FillSampleValues(10); 
    Chart1.AddSeries(TLineSeries.Create(Self)).FillSampleValues(10); 
    Chart1.AddSeries(TBarSeries.Create(Self)).FillSampleValues(10); 
    Chart1.AddSeries(TBarSeries.Create(Self)).FillSampleValues(10); 
    Chart1.AddSeries(TBarSeries.Create(Self)).FillSampleValues(10); 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
var i: Integer; 
begin 
    for i:=0 to Chart1.SeriesCount-1 do 
    begin 
    Chart1[i].Marks.Visible:=False; 

    if Chart1[i] is TLineSeries then 
     Chart1[i].ZOrder:=Chart1.SeriesCount - 1 - i 
    else 
     Chart1[i].ZOrder:=i; 
    end; 
end; 

라인 시리즈는 전면에 있지만 막대 시리즈 스타일은 그대로 유지됩니다. 나는 또한 막대 시리즈 StackGroups로 시도 : 그러나, 그것은 많은 차이를 만들지 않습니다. 우리는이 작업을 위해서 라인 시리즈 용 StackGroups도 필요합니다.

(우리가 이제까지 애매 TChartSeries.BringToFront() 함수를 볼 수 있을까?) :

왜? Steema Software의 bugzilla 플랫폼에 귀하의 요청을 추가했습니다 : http://bugs.teechart.net/show_bug.cgi?id=853. 기꺼이 가입하고 CC 목록에 자신을 추가하면 자동 이슈 업데이트를받을 수 있습니다.

+0

요청을 추가해 주셔서 감사합니다.다행히도, 현재와 프로젝트의 성격과 초기 사용 방식 때문에 당분간이 문제를 피할 수있을 것입니다. (시리즈 [0]을'TLineSeries' 더 높은 지수의 라인 시리즈는 효과가있는 것 같습니다.) – HvS