#include "StdAfx.h" #include "ParMappingTab.h" #include "Propertie.h" #include "PropertieMgr.h" CParMappingTab::CParMappingTab(void) { //初始化参数容器 for(int i=0;iSetpVal((void*)&(m_CurCtrlParVec[i])); pPropertie->SetType(_PROP_TYPE_STRING); pPropertie->SetpModule(pModule); pPropertie->SetPath(Path); pPropertie->SetName(Name); pPropertie->WriteRead(true);//读取保存的属性 //添加属性显示 str.Format("参数%ld",i+1); CString PropertyName = str; str += "对应的含义(修改需要重启软件才能生效)"; CString Description = str; CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName,(_variant_t)m_CurCtrlParVec[i], Description); //插入参数内容 InsertPenParName(p1); p1->AllowEdit(FALSE);//不可修改 pGroup1->AddSubItem(p1); gDevicePropertieMgr.Insert(p1, pPropertie); } pGroup->AddSubItem(pGroup1); } } //调整参数的顺序(使用的参数都靠前排列),并且去掉不存在的参数 void CParMappingTab::AdjustParOrder() { vector Vec; for(int i=0;i::iterator iter = m_AllCtrlParList.begin(); vector::iterator iter_end = m_AllCtrlParList.end(); for(int i=0;iter!=iter_end;iter++,i++) { p->AddOption(*iter); } } //通过(模块自定义的par 类型枚举值)来查询在映射表中的索引值idx //模块得到idx 后,再到自己的数据容器中去查找对应的数据 bool CParMappingTab::GetMappingTabParIdx(int EnumParType,int &ParIdx) { int size = m_AllCtrlParList.size(); if(EnumParType