能動態 在程式中 對Chart 畫垂直或平行線(並給予它 一些屬性 如Visible) |
尚未結案
|
seedbcc
高階會員 發表:232 回覆:272 積分:105 註冊:2003-12-10 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi seedbcc, 範例程式,供你參考
http://delphi.ktop.com.tw/loadfile.php?TOPICID=15912620&CC=355880 ----------------------------------
小弟才疏學淺,若有謬誤尚請不吝指教
----------------------------------
------
Fishman |
seedbcc
高階會員 發表:232 回覆:272 積分:105 註冊:2003-12-10 發送簡訊給我 |
|
seedbcc
高階會員 發表:232 回覆:272 積分:105 註冊:2003-12-10 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi seedbcc, 說真的,建議你看看 delphi 中的範例程式,路徑如下:
C:\Program Files\Borland\Delphi7\Demos\TeeChart\teedemo.dpr
其中 DrawForm 中,就有如何在 Chart 上畫上水平線,改一下即可畫垂直線
但是就無法設定屬性了,你先行參考看看 PS:該範例中有許多關於 chart 的使用與一些進階用法,強烈建議你一定要看,對於你使用 Chart 一定會有許多幫助 ----------------------------------
小弟才疏學淺,若有謬誤尚請不吝指教
----------------------------------
------
Fishman |
StrongLemon
高階會員 發表:10 回覆:166 積分:105 註冊:2004-04-18 發送簡訊給我 |
範例就藏在dew元件的Source部分..
看看元件怎麼做..
再Trace進去一步一步看.. 以下擷取的部分可以從 http://www.dewresearch.com/
試用版下載內有附..
procedure TQCSeries.DoAfterDrawValues; var tmpY : Integer; tH : Integer; begin inherited DoAfterDrawValues; With ParentChart, ParentChart.Canvas do begin AssignFont(Self.Marks.Font); tH := TextHeight('W'); Brush.Style := bsClear; ClipRectangle(ChartRect); { draw upper-lower Control Limit } AssignVisiblePen(FControlLimitPen); tmpY := CalcYPosValue(UCL); MoveTo(ChartRect.Left, tmpY); LineTo(ChartRect.Right, tmpY); if FShowText then TextOut(ChartRect.Left 50,tmpY,'UCL = ' FormatFloat(FTextNumericFormat,FUCL)); tmpY := CalcYPosValue(LCL); MoveTo(ChartRect.Left, tmpY); LineTo(ChartRect.Right, tmpY); if FShowText then TextOut(ChartRect.Left 50,tmpY-tH-FControlLimitPen.Width,'LCL = ' FormatFloat(FTextNumericFormat,FLCL)); { draw average (mean or StdDev} AssignVisiblePen(FCLPen); tmpY := CalcYPosValue(FCL); MoveTo(ChartRect.Left, tmpY); LineTo(ChartRect.Right, tmpY); if FShowText then TextOut(ChartRect.Left 50,tmpY,'CL = ' FormatFloat(FTextNumericFormat,FCL)); UnclipRectangle; end; end; |
seedbcc
高階會員 發表:232 回覆:272 積分:105 註冊:2003-12-10 發送簡訊給我 |
|
seedbcc
高階會員 發表:232 回覆:272 積分:105 註冊:2003-12-10 發送簡訊給我 |
|
StrongLemon
高階會員 發表:10 回覆:166 積分:105 註冊:2004-04-18 發送簡訊給我 |
引言: 好像必須去改到Chart的相關原始碼 才能控制 線 是否可以顯示 否則畫出來後 ,如何移除在Chart的OnAfterDraw裡面寫入畫線的Code.. 不用改到原始碼.. 你可以先測試下兩個按鈕功能.. 理解之後再加入到OnAfterDraw.. button1.click... begin Chart1.Canvas.MoveTo(0,0); Chart1.Canvas.LineTo(100, 100); end;另外要重畫的話 button2.click.. begin Chart1.Repaint; end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |