📄 subject_30519.htm
字号:
<p>
序号:30519 发表者:萧一郎 发表日期:2003-02-24 10:09:39
<br>主题:求教于各位大侠:画函数曲线用什么控件
<br>内容:我已经算出了一系列离散的数据,我想画出连续的函数曲线,通过控件对话框显示出来,不知道哪一种比较好用?给推荐一个吧
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:upstream 回复日期:2003-02-24 10:23:43
<br>内容:这样的控件恐怕还没有吧.<BR><BR>其实你的数据都出来了,用picture控件拉出一块区域,<BR>然后在上面用cdc类的函数直接画就可以了.<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:萧一郎 回复日期:2003-02-24 20:49:47
<br>内容:这样的控件恐怕还没有吧.<BR><BR>其实你的数据都出来了,用picture控件拉出一块区域,<BR>然后在上面用cdc类的函数直接画就可以了.<BR>upstream<BR>upstream <BR>不会是这样吧,我的意思是不管是哪里提供的ACTIVEX控件,能够实现这些功能,并且能容易搞到(有D版),就可以,只是我不知道用什么<BR>象你说的那样做,做出来的东西还有的看吗,不漂亮
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:萧一郎 回复日期:2003-02-26 21:28:17
<br>内容:我已经知道可以用MS CHART CONTROL来显示了<BR>但是,我不太会用,有相关资料,贴上来,也可以得分呀
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:upstream 回复日期:2003-02-27 10:31:29
<br>内容:看看这个控件能否能用的上:<BR>(例子80多k,,发到你信箱里把)<BR><BR>CChartCtrl类派生于CWnd,适用范围与CWnd相同。例程中用在了CChartView (派生于CView)中 ,作为其一个成员。当然我也给了一个用在对话框中的例子。由于程序的思路比较直接,相信大家会比较容易的领会代码的意义。下面是用在对话框OnInitDialog()函数中的例子:<BR><BR>m_wndChart.Create(NULL,<BR> NULL, <BR> WS_CHILD|WS_VISIBLE,<BR> CRect(0, 0, 0, 0), <BR> this, <BR> 1);<BR><BR>m_wndChart.SetChartType(TYPE_LINE);<BR><BR>m_wndChart.SetAxisStyleX(AUTO_SCALE|m_wndChart.GetAxisStyleX());<BR>m_wndChart.SetAxisStyleY(AUTO_SCALE|m_wndChart.GetAxisStyleY());<BR><BR>m_wndChart.SetAxisFormatString(X_AXIS, CString("%.2f"));<BR>m_wndChart.SetAxisFormatString(Y_AXIS, CString("%.2f"));<BR><BR>/****clear all data and create the data sets****/<BR>m_wndChart.Purge();<BR>m_wndChart.AddDataSeries("RED", RGB(255, 0, 0));<BR>m_wndChart.AddDataSeries("GREEN", RGB(0, 255, 0));<BR>m_wndChart.AddDataSeries("BLUE", RGB(0, 0, 255));<BR>/****clear all data and create the data sets****/<BR><BR>CDataPoint DataPoint;<BR>double dDivisor((rand()%20)+2+2*DBL_EPSILON); //mimimum == 2<BR><BR>/****invent some data****/<BR>for (int i(0);i<10;i++) {<BR> DataPoint.m_dX = i;<BR> DataPoint.m_dY = (rand()%50)/dDivisor;<BR> DataPoint.m_sCaption.Format("DataPoint %d", i);<BR> m_wndChart.AddDataPoint(&DataPoint);<BR><BR> DataPoint.m_dY = (rand()%50)/dDivisor;<BR> DataPoint.m_sCaption.Format("DataPoint %d", i);<BR> m_wndChart.AddDataPoint(&DataPoint, 1);<BR><BR> DataPoint.m_dY = (rand()%50)/dDivisor;<BR> DataPoint.m_sCaption.Format("DataPoint %d", i);<BR> m_wndChart.AddDataPoint(&DataPoint, 2);<BR> }<BR>/****invent some data****/<BR><BR>m_wndChart.ShowHeader(FALSE);<BR>m_wndChart.ShowFooter(FALSE);<BR>m_wndChart.ShowLegend(TRUE);<BR>m_wndChart.ShowSeriesLegend();<BR><BR>m_wndChart.Invalidate();<BR>m_wndChart.UpdateWindow();<BR><BR>使用方法基本就是这样。用于CView派生类时没有什么不同,你需要重载OnCreate()函数,并映重载OnSize()函数来调整控件的大小。具体的用法你可以参考CChartView示例重的用法。<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -