不少應用程序都需要將一些數據曲線化顯示,以觀察數據的變化趨勢,我們常用的曲線控件有不少,比如mschart,最近公司也需要一個曲線顯示的東東,但是不能使用mschart,怎麼辦?自己做嘛,工具當然是Visual C++,語言MFC。首先我研究了一下mschart和一些網站的資料,經過3天的努力,終於完成,想把這個控件也提供給大家,大家先來看看效果吧:
(圖一)顯示了所有的電流曲線(A相、B相、C相)這是默認情況
代碼為: //添加曲線
COLORREF l_cr1 = 0x80dd00;
COLORREF l_cr2 = 0x0080ff;
COLORREF l_cr3 = 0xff8000;
m_wndZgChart.AddChartCutline("A相電流(A)", l_cr1, 1, TRUE);
m_wndZgChart.AddChartCutline("B相電流(A)", l_cr2, 1);
m_wndZgChart.AddChartCutline("C相電流(A)", l_cr3, 1);
(圖二)顯示了部分的電流曲線(B相)通過左鍵點擊對應的圖例顯示和隱藏
(圖三)修改曲線的參數:線寬,顏色通過右鍵點擊對應的圖例來設置
(圖四)修改B相電流線寬為4
(圖五)曲線保存到問題文件
(圖六)曲線打印
一些說明:
1、該控件提供了一個強制隱藏數據提示窗體的接口HideTips(),提供外部調用,當用戶使用Alt+Tab切換程序的時候需要自己手動隱藏窗口,詳細代碼請參看ZgSkinDemo工程
2、曲線窗體會因為本身曲線要求而自動發生大小變化
3、由於是公司產品不能廣泛傳播C++源代碼,只能做成LIB給大家使用,見諒
4、如果發現BUG,請與我聯系 [email protected],[email protected],[email protected]
5、相關文件
6、本人寫作不多,主要都是不想寫,在我寫這些代碼的時候發現網上的資料太少了,所以堅持寫寫,讓大家都能參考和使用。
7、平時本人對界面設計也少許了解,研究了一套界面換皮膚程序,也將完成了,先給大家看看效果
(對話框)
(MDI)
(SDI)
由於精力和時間原因,對於這個版本的代碼沒有涉及到常用的控件,完成後我會將源代碼全部奉獻(這是本人作品,可以給大家看的!)另外本人還有一個以前設計的版本,效果如下:
有需要源代碼的可以和我聯系。
本文配套源碼