1、右键添加“ActiveX控件”,选择IplotX控件
2、绑定变量m_iPlotX,删除自动生成的类的源文件和头文件,将m_iPlotX的声明类型改为“CiPlotX”
3、将总官网下载的源码包文件中复制文件“iplotx.cpp”和“iplotx.h”,编译会报错,许多头文件没有包含,把提示所需的头文件都复制到工程中,并加到工程中
4、例子,再添加一个button按钮,并双击添加响应事件,例子如下:
void CIocompTestDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
//unsigned long dwThreadID;
//::CreateThread( NULL, 0, CIocompTestDlg::RunThread, 0, 0, &dwThreadID );
AfxBeginThread((AFX_THREADPROC)RunThread,this);
}
void CIocompTestDlg::RunThread(LPVOID lpParam)
{
CIocompTestDlg *pObj = (CIocompTestDlg *)lpParam;
return pObj->ThreadFuncKernal();
}
// Thread function kernal
void CIocompTestDlg::ThreadFuncKernal()
{
double XData;
double YData;
XData = 0;
YData = 0;
for(int i=0;; i++)
{
//Increment X Data
XData = i;
YData = i*0.01;
m_iPlotX.GetChannel(0).AddXY(XData, YData);
Sleep(10);
}
}
头文件的声明如下:
static void RunThread(LPVOID lpParam); //线程入口
void ThreadFuncKernal(); //画界面的函数
//button2的例子不是无限的跑下去
void CIocompTestDlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
double XData;
double YData;
XData = 0;
YData = 0;
for(int i=0; i<100; i++)
{
//Increment X Data
XData = XData + 1;
//Generate Random Y Data
YData = (rand()/(double)RAND_MAX)*100;
//Plot XY Data Pair
m_iPlotX1.GetChannel(0).AddXY(XData, YData);
}
}