14:55:58 2010-05-28 本人是北京邮电大学的Jamie li,最近学习MFC,用mschart仿照任务管理器中的联网,完成了一个网络流量实时监控程序,与大家分享一下经验。
我的源代码http://download.youkuaiyun.com/source/2402219
我先简单介绍一下我的思路:
在初始化对话框中,添加一个InitChart函数,功能是初始化Mschart。同时开启设计器settimer
然后通过Ontimer这个定时器的相应函数,每一秒更新一下Mschart。
这里面的数据是通过GetNetspeed的函数获得。
第一步Mschart使用
1.插入MsChart控件,
在工程中加入 mschart
菜单->Project->Add To Project->Components and Controls->Registered ActiveX Controls->Microsoft Chart Control, version 6.0 (OLEDB)
2.使用mschart的变量之前,一定要包含相应方法的头文件。
下面是我的IninChart函数
void CMschart_testDlg::InitChart()
{
VARIANT var;
m_Chart.GetPlot().GetAxis(1,var).GetValueScale().SetAuto(FALSE);//不自动标注y轴刻度
m_Chart.GetPlot().GetAxis(1, var).GetValueScale().SetMaximum(0.01);//y轴最大刻度
m_Chart.GetPlot().GetAxis(1, var).GetValueScale().SetMinimum(0);//y轴最小刻度
m_Chart.GetPlot().GetAxis(1,var).GetValueScale().SetMajorDivision(10);//y轴刻度10等分
m_Chart.GetPlot().GetAxis(1,var).GetValueScale().SetMinorDivision(1);//每刻度一个刻度线
m_Chart.SetColumnCount(2); //2个项,2条曲线
m_Chart.SetTitleText("网卡利用率");//设置标题栏
//m_Chart.SetRowLabel("第I行");//设置第i行标签
m_Chart.SetColumnLabel("发送速率");//设置第j列标签
m_Chart.SetColumn(2);
m_Chart.SetColumnLabel("接受速率");
// 下面两句改变背景色14:55:55