動態建立TeeChart的簡便方法

最近在項目中使用Teechart ocx版本替換了labview的老版本控件,顯示效果和效率均有提升,可是卻遇到多線程下報access violation的問題。多線程

翻遍大小論壇,最後在官網論壇找到相同問題,客服的答覆是「多線程狀況下,須要在線程中動態建立Teechart控件,否則mouse move事件可能會引發accessviolation 錯誤」。使用代碼動態建立Teechart須要大量代碼,在作多項定製並添加tools的狀況下簡直就是噩夢。labview的圖表控件能夠將配置導出爲文件,動態建立的時候直接載入配置,在翻看Teechart配置工具後,終於讓我找到了相似的方法,如下爲使用過程(vs2010+teechart2010 ocx,其餘版本或語言相似):工具

一、建立一個dialog,拖入一個teechart控件,在上面作好須要的各類配置。this

二、在Export選項下,Native卡中選擇binary,導出配置文件,這裏配置文件爲.tee後綴。spa

三、在項目中,動態建立控件,並調用CImport類的LoadFromFile方法,載入剛纔保存的配置文件,這樣就完美的實現了動態加載的目的而避免寫出巨量的配置代碼線程

m_dyChart = new CTchart1();
    m_dyChart->Create(NULL, NULL,WS_VISIBLE | WS_CHILD, CRect(0,0,0,0), this, 1234);
    CImport imp = static_cast<CImport>(m_dyChart->get_Import());
    imp.LoadFromFile("dy.tee");
相關文章
相關標籤/搜索