工具:Vs2010,Teechart V8.0
架构:MFC
废话不多,咱先上个图:
工作原因,要给客户看,所以尽量美观点,用户好做展示,自己看的也愉悦不是~~~
小马一步一步给你们解析啊:
1.创建基于对话框的MFC程序(啥?不知道MFC是啥?这篇文章你先收藏吧,先学学基础的)
2.添加TeeChart,Combo,BUTTON控件,设置变量
Teechart不知道如何添加?戳这里:http://blog.csdn.net/leichelle/article/details/7994376
下拉式列表框不知道怎么用?猛戳这里:http://www.jizhuomi.com/software/189.html
觉得皮肤好看?自己搜索:SkinMagic
3.为Dlg类添加颜色数组:
COLORREF dDataColor[5];
同时在构造函数中初始化:
CComboBoxDlg::CComboBoxDlg(CWnd* pParent /*=NULL*/)
: CDialogEx(CComboBoxDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
for(int i=0;i<5;i++)
{
dDataColor[i]=RGB(255, 0, 0);//初始化的时候把所有颜色设置为红色
}
}
4.在OnInitDialog()中初始化Teechart控件和Combo控件
BOOL CComboBoxDlg::OnInitDialog()
{
......
// TODO: 在此添加额外的初始化代码
//为下拉式列表框设置5个选项
for(int i=0;i<5;i++)
{
CString temp;
temp.Format(_T("第%d列"),i+1);
m_Combo_Color.InsertString(i, temp);
}
m_Combo_Color.SetCurSel(0); // 默认选择第一项
//初始化Teechart控件,显示红色吧~~
CSeries barSeries = (CSeries)m_Mychart.Series(0);
for(int i=0;i<5;i++)
{
barSeries.AddXY((double)i,(double)(i+1),NULL,RGB(255, 0, 0)); //参数第一个是横坐标,第二个是纵坐标,第三个是注释,第四个就是颜色啦~~
}
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
5.为BUTTON添加消息映射:
void CComboBoxDlg::OnBnClickedButtonChangecolor()
{
// TODO: 在此添加控件通知处理程序代码
COLORREF color = RGB(255, 0, 0); // 颜色对话框的初始颜色为红色
CColorDialog colorDlg(color); // 构造颜色对话框,传入初始颜色值
if (IDOK == colorDlg.DoModal()) // 显示颜色对话框,并判断是否点击了“确定”
{
((CSeries)m_Mychart.Series(0)).Clear();//清除原先的图
color = colorDlg.GetColor(); // 获取颜色对话框中选择的颜色值
dDataColor[m_Combo_Color.GetCurSel()]=color; //获取当前选择下拉式列表框的索引,根据索引将获得的颜色赋给颜色数组
CSeries barSeries = (CSeries)m_Mychart.Series(0);
for(int i=0;i<5;i++)
{
barSeries.AddXY((double)i,(double)(i+1),NULL,dDataColor[i]);
}
}
}