線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2160
推到 Plurk!
推到 Facebook!

能動態 在程式中 對Chart 畫垂直或平行線(並給予它 一些屬性 如Visible)

尚未結案
seedbcc
高階會員


發表:232
回覆:272
積分:105
註冊:2003-12-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-26 16:50:18 IP:221.169.xxx.xxx 未訂閱
能動態 在程式中 對Chart 畫垂直或平行線(並給予它 一些屬性 如Visible)
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-27 15:53:29 IP:210.65.xxx.xxx 未訂閱
Hi seedbcc,    範例程式,供你參考 http://delphi.ktop.com.tw/loadfile.php?TOPICID=15912620&CC=355880 ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
seedbcc
高階會員


發表:232
回覆:272
積分:105
註冊:2003-12-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-28 09:15:46 IP:221.169.xxx.xxx 未訂閱
能不能 不用Series 就能對Chart畫出 垂直 或平行線(自行指定的數值 及 長度)
seedbcc
高階會員


發表:232
回覆:272
積分:105
註冊:2003-12-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-28 10:13:47 IP:221.169.xxx.xxx 未訂閱
如圖所示的五條線 在程式中 自定值 畫出來 ?
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-05-28 11:08:13 IP:210.65.xxx.xxx 未訂閱
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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-05-28 12:49:51 IP:221.169.xxx.xxx 未訂閱
範例就藏在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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-05-28 13:32:48 IP:221.169.xxx.xxx 未訂閱
感謝二位的回答啦 我再自己試試
seedbcc
高階會員


發表:232
回覆:272
積分:105
註冊:2003-12-10

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-05-28 15:05:24 IP:221.169.xxx.xxx 未訂閱
好像必須去改到Chart的相關原始碼 才能控制 線 是否可以顯示 否則畫出來後 ,如何移除
StrongLemon
高階會員


發表:10
回覆:166
積分:105
註冊:2004-04-18

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-06-01 01:11:12 IP:210.68.xxx.xxx 未訂閱
引言: 好像必須去改到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;
系統時間:2024-05-05 22:00:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!