16,473
社区成员
发帖
与我相关
我的任务
分享
BOOL CMeasureDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
// TODO: 在此添加额外的初始化代码
CRect rect;
GetClientRect(rect);
//创建曲线控件实例
m_Interface.Create(_T(""),_T(""),WS_VISIBLE | WS_CHILD, rect, this,0,NULL) ;
m_pointCount = 0;
double X[25]={41.822,41.823,41.823,41.826,41.829,41.827,41.826,41.820,41.822,41.819,41.827,41.827,41.824,41.828,41.824,41.827,41.826,41.821,41.826,41.822,41.825,41.827,41.827,41.828,41.821 };
yNum=0; return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
void CMeasureDlg::OnBtnCollect()
{
// TODO: 在此添加控件通知处理程序代码
CString str;
if(GetDlgItemText(IDC_BTN_COLLECT,str),str==_T("采集"))
{
if(m_bFirstSet)
{
CCollectDlg dlg_Collect;
if(IDOK==dlg_Collect.DoModal()){
m_Interface.m_dUpLimite=dlg_Collect.m_dUp;
m_Interface.m_dStandar=dlg_Collect.m_dStandar;
m_Interface.m_dDownLimite=dlg_Collect.m_dDown;
}
m_bFirstSet = FALSE;
}
SetDlgItemText(IDC_BTN_COLLECT,_T("停止"));
SetTimer(1,1000,NULL);
}
else
{
SetDlgItemText(IDC_BTN_COLLECT,_T("采集"));
KillTimer(1);
}
}
void CMeasureDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
double nRandomY;
if(yNum < 25) nRandomY = X[yNum++];
else
{
yNum=0;
nRandomY = X[yNum++];
}//如果曲线点数大于10个点,则删除第1个点。
if (m_pointCount > 7 )
{
m_Interface.DeleteFirstPoint();
m_pointCount--;
}
//给曲线添加点
m_Interface.AppendPoint(nRandomY);
TRACE(L" y = %d \n",nRandomY);
m_pointCount++;
CDialog::OnTimer(nIDEvent);
}
BOOL CMeasureDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
// TODO: 在此添加额外的初始化代码
CRect rect;
GetClientRect(rect);
//创建曲线控件实例
m_Interface.Create(_T(""),_T(""),WS_VISIBLE | WS_CHILD, rect, this,0,NULL) ;
m_pointCount = 0;
double X[25]={41.822,41.823,41.823,41.826,41.829,41.827,41.826,41.820,41.822,41.819,41.827,41.827,41.824,41.828,41.824,41.827,41.826,41.821,41.826,41.822,41.825,41.827,41.827,41.828,41.821 };
yNum=0;
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
void CMeasureDlg::OnBtnCollect()
{
// TODO: 在此添加控件通知处理程序代码
CString str;
if(GetDlgItemText(IDC_BTN_COLLECT,str),str==_T("采集"))
{
if(m_bFirstSet)
{
CCollectDlg dlg_Collect;
if(IDOK==dlg_Collect.DoModal())
{
m_Interface.m_dUpLimite=dlg_Collect.m_dUp;
m_Interface.m_dStandar=dlg_Collect.m_dStandar;
m_Interface.m_dDownLimite=dlg_Collect.m_dDown;
}
m_bFirstSet = FALSE;
}
SetDlgItemText(IDC_BTN_COLLECT,_T("停止"));
//Invalidate();
SetTimer(1,1000,NULL);
}
else
{
SetDlgItemText(IDC_BTN_COLLECT,_T("采集"));
KillTimer(1);
}
}
void CMeasureDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
double nRandomY;
if(yNum < 25) nRandomY = X[yNum++];
else
{
yNum=0;
nRandomY = X[yNum++];
}
//如果曲线点数大于10个点,则删除第1个点。
if (m_pointCount > 7 )
{
m_Interface.DeleteFirstPoint();
m_pointCount--;
}
//给曲线添加点
m_Interface.AppendPoint(nRandomY);
TRACE(L" y = %d \n",nRandomY);
m_pointCount++;
CDialog::OnTimer(nIDEvent);
}