全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3571
推到 Plurk!
推到 Facebook!

是否可以在指定BCB中的Tchart圖表區間的顏色

 
ayaotu
一般會員


發表:2
回覆:3
積分:1
註冊:2006-10-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-11-26 19:21:13 IP:203.68.xxx.xxx 未訂閱
小弟要在Y軸地方用顏色來區分...0-10 藍色 11-20 黃色 .請問大大能在BCB中TChart圖表區分顯示出來嗎?
謝謝大大..小弟感恩..
ayaotu
一般會員


發表:2
回覆:3
積分:1
註冊:2006-10-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-11-27 15:53:57 IP:203.68.xxx.xxx 未訂閱

===================引 用 文 章===================
小弟要在Y軸地方用顏色來區分...0-10? 紅色 11-20 藍色 21-40 綠色..請問大大能在BCB中TChart圖表區分顯示出來嗎?
謝謝大大..小弟感恩..
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
void __fastcall TForm1::Chart1BeforeDrawAxes(TObject *Sender)
{
//問題在黃色區域沒有顯示出來..請問那裡有出錯!?

float p1,p2,p3,p4,t,T ;
TRect tmpRect;
TRect tmpRect1;

p1=StrToFloat(Edit2->Text); // 下限 設定0
p2=StrToFloat(Edit3->Text); // 上限 設定10

//p1-p2區域顯示藍色

p3=StrToFloat(Edit4->Text); // 下限 設定11

p4=StrToFloat(Edit5->Text); // 上限 設定20
//p3-p4區域顯示黃色
if( p1 > p2 || p3 > p4 )
{
T=p2;
p2=p1;
p1=T;
t=p4;
p4=p3;
p3=t;
}

tmpRect = Chart1->ChartRect;
Chart1->Canvas->Brush->Style=bsSolid; //設定線條樣式
Chart1->Canvas->Pen->Style=psClear; //設定填滿樣式
//adjust the rectangle dimension
if ((p1 < Chart1->LeftAxis->Minimum) && (p2 > Chart1->LeftAxis->Minimum))
p1 = Chart1->LeftAxis->Minimum;
if ((p1 < Chart1->LeftAxis->Maximum) && (p2 > Chart1->LeftAxis->Maximum))
p2 = Chart1->LeftAxis->Maximum;

tmpRect.Bottom = Chart1->LeftAxis->CalcYPosValue(p1);
tmpRect.Top = Chart1->LeftAxis->CalcYPosValue(p2);
//set the brush color
Chart1->Canvas->Brush->Color = clBlue; // 顏色
//paint !!!
if(((p1 > Chart1->LeftAxis->Minimum) && (p1 < Chart1->LeftAxis->Maximum)) ||
((p2 > Chart1->LeftAxis->Minimum) && (p2 < Chart1->LeftAxis->Maximum)) ||
((p1 <= Chart1->LeftAxis->Minimum) && (p2 >= Chart1->LeftAxis->Maximum)))
{
Chart1->Canvas->Rectangle(tmpRect.Left Chart1->Width3D,
tmpRect.Top - Chart1->Height3D,
tmpRect.Right Chart1->Width3D,
tmpRect.Bottom - Chart1->Height3D);
}

//以下黃色區域沒有顯示
tmpRect1 = Chart1->ChartRect;
Chart1->Canvas->Brush->Style=bsSolid; //設定線條樣式
Chart1->Canvas->Pen->Style=psClear; //設定填滿樣式
if ((p3 < Chart1->LeftAxis->Minimum) && (p4 > Chart1->LeftAxis->Minimum))
p3= Chart1->LeftAxis->Minimum;
if ((p3 < Chart1->LeftAxis->Maximum) && (p4 > Chart1->LeftAxis->Maximum))
p4= Chart1->LeftAxis->Maximum;

tmpRect1.Bottom = Chart1->LeftAxis->CalcYPosValue(p3);
tmpRect1.Top = Chart1->LeftAxis->CalcYPosValue(p4);

Chart1->Canvas->Brush->Color = clYellow; // 顏色
//paint !!!
if(((p3 > Chart1->LeftAxis->Minimum) && (p4 < Chart1->LeftAxis->Maximum)) ||
((p3 > Chart1->LeftAxis->Minimum) && (p4 < Chart1->LeftAxis->Maximum)) ||
((p3 <= Chart1->LeftAxis->Minimum) && (p4 >= Chart1->LeftAxis->Maximum)))
{
Chart1->Canvas->Rectangle(tmpRect1.Left Chart1->Width3D,
tmpRect1.Top - Chart1->Height3D,
tmpRect1.Right Chart1->Width3D,
tmpRect1.Bottom - Chart1->Height3D);
}

}
請大大賜教與意見...小弟感激不盡..
ayaotu
一般會員


發表:2
回覆:3
積分:1
註冊:2006-10-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-11-28 20:30:20 IP:203.68.xxx.xxx 未訂閱
 
已處理好ㄌ...謝謝..
系統時間:2024-05-03 13:23:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!