最近也在用MSChart控制項,在網上尋找了一些資料,現記錄下來
最近需要為程式顯示一些柱狀圖、線圖之類的,查了一下微軟的mschart不錯,功能強大。可是自vc6.0之後mschart控制項就從ms的IDE裡去掉了,如果用只能自己下載安裝。安裝mschart需要
1 .net framewrok 3.5 sp1(注意是sp1),沒有安裝的話就去下載吧,完整包大概200多M
2 安裝MSChart.exe MSChart_VisualStudioAddOn.exe 下載mschrt20.ocx到C:/WINDOWS/system32目錄下。命令列運行regsvr32 mschrt20.ocx註冊控制項
3 在vs2005之後的平台上,你要麼在class view下add class->MFC Class from ActiveX Control然後有兩個,你可以選擇registy然後選擇ms mschart 6.0(oled),這樣只能出現一個類 CMSCHART,或者選擇File然後瀏覽mschrt20.ocx,這裡面產生了很多類,你全部添加進去,最後就可以用了。
第二、你可以在一個MFC dialog上 insert axtivex control或者toolbox選擇choose item->com選擇組件讓它出現在工具箱中,這樣也可以有控制項。
我們自己選擇產生的很多類,跟網上有樣本的類函數名稱上有所不同,可能會給使用帶來麻煩。其實最簡單的就是找到一個Demo把裡面相關的CMSCHART和其它相關的十幾個類都拷貝到我的工程檔案夾裡,再添加進來,就ok了。
網上很多例子可供參考,比如:http://www.vckbase.com/document/viewdoc/?id=959
關於遇到的一些問題。在設定圖形類型的時候,m_chart.SetChartType(1|2);顯示出2D曲線圖,而我們用m_chart.SetChartType(16);的時候如果你只設定了m_chart.SetColumnCount(1); 就不會顯示,因為16的散列圖需要的是一對座標點,你至少需要設定m_chart.SetColumnCount(2);為2。