日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VS2010MFC - TeeChart经验总结(零基础入门到动态创建)

發布時間:2025/3/12 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VS2010MFC - TeeChart经验总结(零基础入门到动态创建) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
因為工作上使用到mfc中的teechart控件,在經過很多摸索和學習后基本能夠使用teechart控件。但在這個過程中走過很多彎路浪費了很多時間,在這里對teechart控件的使用經驗進行總結,希望能夠方便后來的學習者。

? (我主要想說明的是TeeChart控件的動態創建過程,純用代碼進行控制,包括對樣式的修改,數據的添加等等。當然這也是一份詳細的零基礎入門教程,先從安裝teechart控件、拖拽控件進行創建、利用編輯框修改屬性等讓大家對teechart控件能夠快速入門。在簡單的部分我會引用一些別人寫的非常好的教程,也免得大家再次查找。)

? 1,TeeChart控件的安裝和簡單使用

? 1.1安裝

? 安裝較為簡單,百度經驗的教程非常詳盡,在csdn下載專區可以下載到teechart5或teechart8的破解版,然后安裝教程一步一步安裝就可以了。(這次教程都是在基于對話框中實現的)

??怎樣在VS2013/MFC中使用TeeChart繪圖控件 -(http://jingyan.baidu.com/article/c33e3f48ac6c5aea15cbb51f.html)

??

? 成功安裝。

?1.2簡單使用(拖拽創建和利用編輯框繪制折線圖等基本圖形)

? 通過編輯框繪制圖形較為簡單,但也很多需要注意的地方包括對控件類的引用,通過代碼控制數據的添加。下面給大家一份非常詳細的折線圖柱狀圖的創建教程,其中也包含一些對樣式的修改,跟著這份教程完成基本圖形的繪制會增強對teechart控件的使用。

??VS2010 使用TeeChart繪圖控件 - 之二 - 繪制圖形(折線圖,柱狀圖)-http://blog.csdn.net/wangshouchao/article/details/8837080

? 在這里有一點很重要就是引入必要的頭文件,因為如果想通過代碼來創建和控制樣式的修改就一定要用到必要的頭文件,所以這里要掌握頭文件的引入。

? 這個鏈接的教程寫的非常好,可惜沒有后續的更新,網上的teechart教程資料有些非常不錯只是查找起來非常費勁,而且有的教程是在VC6.0下使用teechart控件,參照那些教程會讓人產生困擾,所以希望能夠幫助大家少走一些彎路。

? 2,通過編輯框修改TeeChart控件屬性

雙擊teechart控件即可打開編輯框,在編輯框中可點擊add來添加各種圖,并且在其中可以較為方便的修改teechart圖的樣式屬性,如標題、是否3D顯示、背景色、x y軸范圍大小等等。這些操作在1.2的鏈接教程中有些涉及到。如圖:


通過編輯框加入一些隨機數據。



是否顯示Legend。


修改標題。


修改左軸標題。


? 可以看到通過編輯框我們可以非常方便的修改teechart圖的樣式,而且不需要添加各種類。但是,如果想用代碼動態創建teechart圖并且用代碼實現修改樣式和這個過程則完全不同。大家可以記住一點,只要是在編輯框內能夠實現的樣式的修改,用代碼則一定也可以實現,并且代碼可以實現更多方面的樣式的修改,下面我們就開始進入關鍵,如何利用代碼動態創建teechart圖并且修改樣式。

3,動態創建Teechart控件并且修改樣式

首先我們要添加CTChart類,然后在對話框的.h頭文件中加入一個CTChart的成員變量m_chart,最后我們就可以在對話框的.cpp文件中的OnInitDialog()(初始化函數,在其中可以添加額外的初始化)函數中調用m_chart.Create(NULL,WS_CHILD|WS_VISIBLE,rc,this,1000);就可以實現動態創建teechart控件了。

如圖,我們按步驟一步一步來。

3.1引入CTChart類

這一步需要注意我們選擇的是Active中的MFC類里的CTChart,這很關鍵大家注意。如果對引入類的操作不熟悉請回到第一個鏈接的教程。

??


引入CTChart類。

3.2添加成員變量m_chart

我創建的工程名為test2,大家可以找到自己工程目錄下對應的{工程名Dlg.h}文件來添加成員變量。


然后在對應的Dlg.cpp文件中的OnInitDialog()添加創建代碼如下:

[cpp] view plain copy print?
  • BOOL?Ctest3Dlg::OnInitDialog()??
  • {??
  • ??//...省略...??
  • ??//?TODO:?在此添加額外的初始化代碼??
  • BOOL Ctest3Dlg::OnInitDialog() {//...省略...// TODO: 在此添加額外的初始化代碼 [cpp] view plain copy print?
  • ??//創建表??
  • ???CRect?rc;??
  • ??GetClientRect(rc);??
  • ??m_chart.Create(NULL,WS_CHILD|WS_VISIBLE,rc,this,1000);//創建teechart圖??
  • ???m_chart.AddSeries(1);//1默認為柱狀圖??
  • ???CSeries?mySeries=(CSeries)m_chart.Series(0);//必須要引入CSeries類??
  • ???mySeries.AddXY(10,20,NULL,RGB(255,255,255));//添加一些數據??
  • ???mySeries.AddXY(11,15,NULL,RGB(255,255,255));??
  • ???mySeries.AddXY(12,22,NULL,RGB(255,255,255));??
  • ???mySeries.AddXY(13,10,NULL,RGB(255,255,255));??
  • }??
  • //創建表CRect rc;GetClientRect(rc);m_chart.Create(NULL,WS_CHILD|WS_VISIBLE,rc,this,1000);//創建teechart圖m_chart.AddSeries(1);//1默認為柱狀圖CSeries mySeries=(CSeries)m_chart.Series(0);//必須要引入CSeries類mySeries.AddXY(10,20,NULL,RGB(255,255,255));//添加一些數據mySeries.AddXY(11,15,NULL,RGB(255,255,255));mySeries.AddXY(12,22,NULL,RGB(255,255,255));mySeries.AddXY(13,10,NULL,RGB(255,255,255)); }這樣我們就實現了teechart圖的動態創建,注意用到哪些類一定要進行引用。

    3.3通過代碼修改樣式

    ? 通過代碼修改各種不同的樣式需要引入不同的類。例如,想要修改x軸區間最大最小值就用到了CAxes,CAxis。具體寫法

    [cpp] view plain copy print?
  • </pre><pre?name="code"?class="cpp"><span?style="font-family:Microsoft?Yahei,?微軟雅黑,?arial,?宋體,?sans-serif;">//底軸區間??
  • ??CAxes?axes?=?(CAxes)m_chart.get_Axis();??
  • ??</span><span?style="font-family:?"Microsoft?Yahei",?微軟雅黑,?arial,?宋體,?sans-serif;?color:?rgb(51,?51,?51);font-size:14px;">CAxis</span><span?style="font-family:Microsoft?Yahei,?微軟雅黑,?arial,?宋體,?sans-serif;">?axisBottom?=?axes.get_Bottom();??
  • ??axisBottom.SetMinMax(6,26);</span>??
  • </pre><pre name="code" class="cpp"><span style="font-family:Microsoft Yahei, 微軟雅黑, arial, 宋體, sans-serif;">//底軸區間CAxes axes = (CAxes)m_chart.get_Axis();</span><span style="font-family: "Microsoft Yahei", 微軟雅黑, arial, 宋體, sans-serif; color: rgb(51, 51, 51);font-size:14px;">CAxis</span><span style="font-family:Microsoft Yahei, 微軟雅黑, arial, 宋體, sans-serif;"> axisBottom = axes.get_Bottom();axisBottom.SetMinMax(6,26);</span> [cpp] view plain copy print?
  • <span?style="font-family:Microsoft?Yahei,?微軟雅黑,?arial,?宋體,?sans-serif;">//修改背景色??
  • ??CPanel?panel=?m_chart.get_Panel();//引入CPanel??
  • ??panel.put_Color(RGB(255,255,255));??
  • </span>??
  • <span style="font-family:Microsoft Yahei, 微軟雅黑, arial, 宋體, sans-serif;">//修改背景色CPanel panel= m_chart.get_Panel();//引入CPanelpanel.put_Color(RGB(255,255,255)); </span>那這里就有一個問題了,到底哪些類是控制相應的樣式的呢?這就需要我們通過官方文檔去查詢了,還有一個方法就是在編輯框中找到更改的樣式,然后參照編輯框里類的遞進關系,再從官方在線文檔中就可以比較容易的找到相應的類了。

    http://www.teechart.net/docs/??官方在線文檔(點擊Teechart ActiveX下的TeeChart Pro ActiveX Library Reference)

    大家一定要學會怎么使用這種方法,在實際查找過程中一定會有問題,耐心下來慢慢查找,并且我們可以參照vc6.0教程里的代碼通過轉換為我們可以用的代碼。


    總結

    以上是生活随笔為你收集整理的VS2010MFC - TeeChart经验总结(零基础入门到动态创建)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。