📄 batchmodidlg.cpp
字号:
}
this->m_iMaxRow=i;
}
break;
case 2: //现场监测点
{
filename=".\\misc\\CD.par";
Column Col; //列对象
Columns Cols;//Columns对象
Cols=m_dbgrid.GetColumns();
Col=Cols.GetItem(_variant_t((short)0));
Col.SetCaption("测点ID");
Col.SetVisible(TRUE);
Col.SetWidth(80);
Col=Cols.GetItem(_variant_t((short)1));
Col.SetCaption("测点名称");
Col.SetVisible(TRUE);
Col.SetWidth(80);
Col=Cols.GetAdd(2);
Col.SetCaption("仪表ID");
Col.SetVisible(TRUE);
Col.SetLocked(TRUE);
Col.SetVisible(FALSE);
Col.SetWidth(0);
Col=Cols.GetAdd(3);
Col.SetCaption("仪表名称");
Col.SetVisible(TRUE);
Col.SetButton(TRUE);
Col.SetLocked(TRUE);
Col.SetWidth(80);
Col=Cols.GetAdd(4);
Col.SetCaption("通道号");
Col.SetVisible(TRUE);
Col.SetButton(TRUE);
Col.SetLocked(TRUE);
Col.SetWidth(80);
m_aData.SetSize(arrCD.GetSize());
for(int i=0;i<arrCD.GetSize();i++)
{
CString str;
NPCD npcd=arrCD.GetAt(i);
CStringArray * elem;
elem=new CStringArray();
str.Format("%d",npcd->cdid);
elem->Add(str);
elem->Add(npcd->cdname);
str.Format("%d",npcd->ybid);
elem->Add(str);
str="";
for(int j=0;j<arrYB.GetSize();j++)
{
NPYB npyb;
npyb=arrYB.GetAt(j);
if(npyb->ybid==npcd->ybid)
{
str=npyb->ybname;
break;
}
}
elem->Add(str);
str.Format("%d",npcd->chanal);
elem->Add(str);
m_aData.SetAt(i,elem);
}
this->m_iMaxRow=i;
}
break;
case 3: //仪表参数名称
{
filename=".\\misc\\CS.PAR";
Column Col; //列对象
Columns Cols;//Columns对象
Cols=m_dbgrid.GetColumns();
Col=Cols.GetItem(_variant_t((short)0));
Col.SetCaption("参数ID");
Col.SetVisible(TRUE);
Col.SetWidth(80);
Col=Cols.GetItem(_variant_t((short)1));
Col.SetCaption("仪表类型");
Col.SetVisible(TRUE);
Col.SetButton(TRUE);
Col.SetWidth(80);
Col=Cols.GetAdd(2);
Col.SetCaption("参数名称");
Col.SetVisible(TRUE);
Col.SetWidth(80);
Col=Cols.GetAdd(3);
Col.SetCaption("参数地址(十六进制)");
Col.SetVisible(TRUE);
Col.SetWidth(80);
Col=Cols.GetAdd(4);
Col.SetCaption("参数类型");
Col.SetVisible(TRUE);
Col.SetButton(TRUE);
Col.SetWidth(80);
// Col=Cols.GetAdd(5);
// Col.SetCaption("修改");
// Col.SetVisible(TRUE);
// Col.SetWidth(80);
m_aData.SetSize(arrCS.GetSize());
for(int i=0;i<arrCS.GetSize();i++)
{
CString str;
NPCS npcs=arrCS.GetAt(i);
CStringArray * elem;
elem=new CStringArray();
str.Format("%d",npcs->csid);
elem->Add(str);
elem->Add(npcs->ybtype);
elem->Add(npcs->csname);
elem->Add(npcs->csdz);
elem->Add(npcs->cstype);
m_aData.SetAt(i,elem);
}
this->m_iMaxRow=i;
}
break;
case 4: //实时数据采集参数维护
{
filename=".\\misc\\REALTIME.PAR";
Column Col; //列对象
Columns Cols;//Columns对象
Cols=m_dbgrid.GetColumns();
Col=Cols.GetItem(_variant_t((short)0));
Col.SetCaption("信号ID");
Col.SetVisible(TRUE);
Col.SetWidth(40);
Col=Cols.GetItem(_variant_t((short)1));
Col.SetCaption("测点ID");
Col.SetVisible(FALSE);
Col.SetLocked(TRUE);
Col.SetWidth(0);
Col=Cols.GetAdd(2);
Col.SetCaption("测点名称");
Col.SetVisible(TRUE);
Col.SetButton(TRUE);
Col.SetLocked(TRUE);
Col.SetWidth(80);
Col=Cols.GetAdd(3);
Col.SetCaption("参数ID");
Col.SetVisible(FALSE);
Col.SetLocked(TRUE);
Col.SetWidth(0);
Col=Cols.GetAdd(4);
Col.SetCaption("参数(信号)名称");
Col.SetVisible(TRUE);
Col.SetButton(TRUE);
Col.SetLocked(TRUE);
Col.SetWidth(90);
Col=Cols.GetAdd(5);
Col.SetCaption("信号单位");
Col.SetVisible(TRUE);
Col.SetWidth(80);
Col=Cols.GetAdd(6);
Col.SetCaption("启用");
Col.SetVisible(TRUE);
Col.SetButton(TRUE);
Col.SetLocked(TRUE);
Col.SetWidth(60);
Col=Cols.GetAdd(7);
Col.SetCaption("预警");
Col.SetVisible(TRUE);
Col.SetButton(TRUE);
Col.SetLocked(TRUE);
Col.SetWidth(40);
Col=Cols.GetAdd(8);
Col.SetCaption("预警下限");
Col.SetVisible(TRUE);
Col.SetWidth(50);
Col=Cols.GetAdd(9);
Col.SetCaption("预警上限");
Col.SetVisible(TRUE);
Col.SetWidth(50);
Col=Cols.GetAdd(10);
Col.SetCaption("量程下限");
Col.SetVisible(TRUE);
Col.SetWidth(50);
Col=Cols.GetAdd(11);
Col.SetCaption("量程上限");
Col.SetVisible(TRUE);
Col.SetWidth(50);
Col=Cols.GetAdd(12);
Col.SetCaption("数据保存周期");
Col.SetVisible(TRUE);
Col.SetButton(TRUE);
Col.SetLocked(TRUE);
Col.SetWidth(60);
m_aData.SetSize(arrRT.GetSize());
for(int i=0;i<arrRT.GetSize();i++)
{
CString str;
NPRT nprt=arrRT.GetAt(i);
CStringArray * elem;
elem=new CStringArray();
str.Format("%d",nprt->rtid);
elem->Add(str);
str.Format("%d",nprt->cdid);
elem->Add(str);
str="";
for(int j=0;j<arrCD.GetSize();j++)
{
NPCD npcd;
npcd=arrCD.GetAt(j);
if(npcd->cdid==nprt->cdid)
{
str=npcd->cdname;
break;
}
}
elem->Add(str);
str.Format("%d",nprt->csid);
elem->Add(str);
str="";
for(j=0;j<arrCS.GetSize();j++)
{
NPCS npcs;
npcs=arrCS.GetAt(j);
if(npcs->csid==nprt->csid)
{
str=npcs->csname;
break;
}
}
elem->Add(str);
elem->Add(nprt->dw);
str=nprt->eanble?"启用":"";
elem->Add(str);
str=nprt->warn_enble?"启用":"";
elem->Add(str);
str.Format("%f",nprt->warn_low);
elem->Add(str);
str.Format("%f",nprt->warn_hi);
elem->Add(str);
str.Format("%f",nprt->range_low);
elem->Add(str);
str.Format("%f",nprt->range_hi);
elem->Add(str);
str.Format("%d",nprt->saving_cycle);
elem->Add(str);
m_aData.SetAt(i,elem);
}
this->m_iMaxRow=i;
}
break;
case 5: //仪表参数的读取与下装
{
filename=".\\misc\\REALTIME.PAR";
Column Col; //列对象
Columns Cols;//Columns对象
Cols=m_dbgrid.GetColumns();
Col=Cols.GetItem(_variant_t((short)0));
Col.SetCaption("参数ID");
Col.SetVisible(FALSE);
Col.SetWidth(0);
Col=Cols.GetItem(_variant_t((short)1));
Col.SetCaption("参数名称");
Col.SetVisible(TRUE);
Col.SetButton(TRUE);
Col.SetLocked(TRUE);
Col.SetWidth(80);
Col=Cols.GetAdd(2);
Col.SetCaption("数据值");
Col.SetVisible(TRUE);
// Col.SetLocked(TRUE);
Col.SetWidth(80);
Col=Cols.GetAdd(3);
Col.SetCaption("结果");
Col.SetVisible(TRUE);
Col.SetLocked(TRUE);
Col.SetWidth(80);
m_combox.ShowWindow(SW_SHOW);
for(int j=0;j<arrCD.GetSize();j++)
{
NPCD npcd=arrCD.GetAt(j);
int cur=m_combox.AddString(npcd->cdname);
m_combox.SetItemData(cur,npcd->cdid);
}
CButton * pbtn;
pbtn=(CButton * )this->GetDlgItem(IDC_DOWNLOAD);
pbtn->ShowWindow(SW_SHOW);//>SetWindowText("参数读取");
pbtn=(CButton * )this->GetDlgItem(IDC_LOAD);
pbtn->ShowWindow(SW_SHOW);//pbtn->SetWindowText("参数下装");
}
break;
}
m_dbgrid.Refresh();
return TRUE;
}
void CBatchModiDlg::OnSelchangeList1()
{
CString sText;
int iOption = m_ListBox.GetCurSel();
m_ListBox.GetText(iOption, sText); //得到选中项的文本
DWORD data;
data=m_ListBox.GetItemData(iOption);
m_ListBox.ResetContent();
m_ListBox.ShowWindow(SW_HIDE); //隐藏列表框
int oldcol;
oldcol=m_dbgrid.GetCol();
switch(type)
{
case 1:
{
if(oldcol==0)
{
}
else m_dbgrid.SetText(sText);
}
break;
case 2:
{
if(oldcol==3)
{
m_dbgrid.SetCol(3);
m_dbgrid.SetText(sText);
m_dbgrid.SetCol(2);
CString str;
str.Format("%d",data);
m_dbgrid.SetText(str);
}
else m_dbgrid.SetText(sText);
}
break;
case 3:
{
m_dbgrid.SetText(sText);
}
break;
case 4:
{
if(oldcol==2 || oldcol==4)
{
m_dbgrid.SetCol(oldcol);
m_dbgrid.SetText(sText);
m_dbgrid.SetCol(oldcol-1);
CString str;
str.Format("%d",data);
m_dbgrid.SetText(str);
}
else if(oldcol==6 || oldcol==7)
{
m_dbgrid.SetCol(oldcol);
if(sText=="启用")
m_dbgrid.SetText(sText);
else
m_dbgrid.SetText("");
}
else m_dbgrid.SetText(sText);
}
break;
case 5:
{
if(oldcol==1 )
{
m_dbgrid.SetCol(oldcol);
m_dbgrid.SetText(sText);
m_dbgrid.SetCol(oldcol-1);
CString str;
str.Format("%d",data);
m_dbgrid.SetText(str);
}
else m_dbgrid.SetText(sText);
}
break;
default:
break;
}
m_dbgrid.SetCol(oldcol);
m_dbgrid.SetFocus(); //将焦点置回到grid控件
}
void CBatchModiDlg::OnKillfocusList1()
{
m_ListBox.ResetContent();
m_ListBox.ShowWindow(SW_HIDE);
}
BOOL CBatchModiDlg::DestroyWindow()
{
if(m_dbgrid.GetDataChanged())
{
if(m_dbgrid.GetAddNewMode() == 0) // 0 - No AddNew
//触发UnboundWriteData事件记录之
m_dbgrid.SetBookmark(m_dbgrid.GetBookmark());
else // 1 - AddNew Current 2 - AddNew Pending
//触发UnboundAddData事件记录之
m_dbgrid.SetRow(m_dbgrid.GetRow());
}
//释放资源
for(int i=0;i<this->m_aData.GetSize();i++)
{
CStringArray *sa;
sa=(CStringArray *)m_aData.GetAt(i);
sa->RemoveAll();
delete sa;
}
m_aData.RemoveAll();
return CDialog::DestroyWindow();
}
void CBatchModiDlg::OnOK()
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -