Browse Source

1.启动SysMgrApp选择能谱无权限提示
2.导入样品台模块恢复
3.程序管理中配置文件恢复
4.处理终止方式不能以帧图数结束bug
5.模式识别相关代码参数修改

CXS 4 năm trước cách đây
mục cha
commit
f1dd056fff

+ 5 - 3
OTSCPP/OTSClrInterface/ImageProClr/FieldMgrClr.cpp

@@ -3,10 +3,12 @@
 #include "../OTSLog/COTSUtilityDllFunExport.h"
 
 namespace OTSIMGPROC {
-	CFieldMgrClr::CFieldMgrClr(int scanFieldSize)
+	CFieldMgrClr::CFieldMgrClr(int scanFieldSize, Size a_ResolutionSize)
 	{
-		m_LpFieldMgr = new CFieldMgrPtr(new CFieldMgr(scanFieldSize));
-
+		CSize resolu;
+		resolu.cx = a_ResolutionSize.Width;
+		resolu.cy = a_ResolutionSize.Height;
+		m_LpFieldMgr = new CFieldMgrPtr(new CFieldMgr(scanFieldSize, resolu));
 	}
 
 	CFieldMgrClr::CFieldMgrClr(CFieldMgrPtr a_pFieldMgr)

+ 1 - 1
OTSCPP/OTSClrInterface/ImageProClr/FieldMgrClr.h

@@ -17,7 +17,7 @@ namespace OTSIMGPROC {
 	{
 	public:
 
-		CFieldMgrClr(int scanFieldSzie);			// constructor
+		CFieldMgrClr(int scanFieldSzie, Size a_ResolutionSize);			// constructor
 		CFieldMgrClr(CFieldMgrPtr);
 		!CFieldMgrClr();
 		~CFieldMgrClr();

+ 5 - 2
OTSCPP/OTSClrInterface/ImageProClr/ImageProForClr.h

@@ -23,7 +23,7 @@ namespace OTSIMGPROC
 			  return ret;
 		  }
 		 
-		  BOOL MergeBigBoundaryParticles(System::Collections::Generic::List<COTSFieldDataClr^>^  allFields, double pixelSize, int scanFieldSize, System::Collections::Generic::List<COTSParticleClr^>^ mergedParts)
+		  BOOL MergeBigBoundaryParticles(System::Collections::Generic::List<COTSFieldDataClr^>^  allFields, double pixelSize, int scanFieldSize, Size ResolutionSize, System::Collections::Generic::List<COTSParticleClr^>^ mergedParts)
 		  {
 			  std::vector<COTSFieldDataPtr> allFlds;
 			  COTSParticleList mergedParticles;
@@ -31,7 +31,10 @@ namespace OTSIMGPROC
 			  {
 				  allFlds.push_back(f->GetOTSFieldDataPtr());
 			  }
-			  bool ret = COTSImageProcess::MergeBigBoundaryParticles(allFlds, pixelSize, scanFieldSize, mergedParticles);
+			  CSize CResolutionSize;
+			  CResolutionSize.cx = ResolutionSize.Width;
+			  CResolutionSize.cy = ResolutionSize.Height;
+			  bool ret = COTSImageProcess::MergeBigBoundaryParticles(allFlds, pixelSize, scanFieldSize, CResolutionSize, mergedParticles);
 			  for each (auto p in mergedParticles)
 			  {
 				  mergedParts->Add(gcnew COTSParticleClr(p));

+ 6 - 0
OTSCPP/OTSControl/Bruker/OTSBrukerImpl.cpp

@@ -75,6 +75,12 @@ namespace OTSController {
 				strBruckerDllName = _T("Bruker.API.Esprit2.1.dll");
 			}
 			
+			if (m_pBrukerDllHandle == nullptr)
+			{
+				AfxMessageBox(_T("当前Bluker能谱不能正常工作,若需调整为OffLine模式,请在SysMgeApp中修改!"));
+				LogErrorTrace(__FILE__, __LINE__, _T("COTSBrukerImpl::Init: failed to load Bruker Client Dll , Dll Name: %s"), strBruckerDllName);
+				exit(0);
+			}
 			// is dll opened?
 			if (!m_pBrukerDllHandle)
 			{

+ 12 - 1
OTSCPP/OTSControl/Oxford/OxfordWrapper/OxfordControllerWrapper.cpp

@@ -2286,7 +2286,18 @@ IMicroscopeController^ OxfordControllerWrapper::CreateMicroscopeController()
 		return _microscopeController;
 	}
 
-	_microscopeController = AcquireFactory::CreateMicroscopeControl();
+	try
+	{
+		_microscopeController = AcquireFactory::CreateMicroscopeControl();
+	}
+	catch(Exception^ ex)
+	{
+		CString sErrorMessage = ex->Message;
+		AfxMessageBox(_T("当前牛津能谱不能正常工作,若需调整为OffLine模式,请在SysMgeApp中修改!\n错误原因:")+ sErrorMessage);
+		OutputDebugString(sErrorMessage);
+		LogMessage(sErrorMessage);
+		exit(0);
+	}
 
 	if (_microscopeController == nullptr)
 	{

+ 3 - 1
OTSCPP/OTSImagePro/FieldMgr.cpp

@@ -121,9 +121,10 @@ namespace OTSIMGPROC {
 
 	// CFieldMgr
 
-	CFieldMgr::CFieldMgr(int scanfieldsize) 
+	CFieldMgr::CFieldMgr(int scanfieldsize,CSize a_ResolutionSize)
 	{
 		m_ScanFieldSize = scanfieldsize;
+		m_ResolutionSize = a_ResolutionSize;
 		m_pMeasureArea=nullptr;
 	}
 	
@@ -339,6 +340,7 @@ namespace OTSIMGPROC {
 		COTSFieldDataPtr fld;
 		double pixelsize;
 		double mScanfieldsize_y = m_ScanFieldSize * m_ResolutionSize.cy / m_ResolutionSize.cx;
+
 		for (auto f : a_flds)
 		{
 			SORTING_DIRECTION di;

+ 1 - 1
OTSCPP/OTSImagePro/FieldMgr.h

@@ -21,7 +21,7 @@ namespace OTSIMGPROC {
 	{
 	public:
 
-		CFieldMgr(int scanfieldsize);			// constructor
+		CFieldMgr(int scanfieldsize, CSize a_ResolutionSize);			// constructor
 		virtual ~CFieldMgr();	// destructor
 
 		// initialization

+ 4 - 4
OTSCPP/OTSImagePro/OTSImageProcess.cpp

@@ -1821,12 +1821,12 @@ namespace OTSIMGPROC
 	return true;
 		
 	}
-	BOOL COTSImageProcess::MergeBigBoundaryParticles(COTSFieldDataList allFields,double pixelSize,int scanFieldSize,COTSParticleList& mergedParts)
+	BOOL COTSImageProcess::MergeBigBoundaryParticles(COTSFieldDataList allFields,double pixelSize,int scanFieldSize, CSize ResolutionSize, COTSParticleList& mergedParts)
 	{
 		COTSSegmentsList boarderSegs;
-		
-		auto FldMgr = new CFieldMgr(scanFieldSize);
-		
+
+		auto FldMgr = new CFieldMgr(scanFieldSize, ResolutionSize);
+	
 
 		std::map<COTSParticle*, COTSParticleList> mapMergeParticles;//hold up all the boundary connected particles. the pair's first is also the member of these particles.
 		std::map<COTSParticle*, COTSSegmentsList> mapMergedSegments;//hold up all the segment's corresponding clone in the connected particles.

+ 1 - 1
OTSCPP/OTSImagePro/OTSImageProcess.h

@@ -66,7 +66,7 @@ namespace OTSIMGPROC {
 		static void RemoveBackGround(CBSEImgPtr a_pImgIn, COTSImageProcessParamPtr a_pImageProcessParam, CBSEImgPtr a_pImgOut,long& foundedPixelNum);
 		static BOOL CalcuParticleImagePropertes(COTSParticlePtr part, double a_PixelSize);
 
-		static BOOL MergeBigBoundaryParticles(COTSFieldDataList allFields, double pixelSize, int scanFieldSize, COTSParticleList& mergedParts);
+		static BOOL MergeBigBoundaryParticles(COTSFieldDataList allFields, double pixelSize, int scanFieldSize, CSize ResolutionSize, COTSParticleList& mergedParts);
 
 	protected:
 		static BOOL GetParticles(long a_nWidth, long a_nHeight, const BYTE* a_pPixel, COTSParticleList& a_listParticles);

+ 6 - 3
OTSIncAMeasureApp/0-OTSModel/Measure/GetBSEPic/CFieldPositionMgr.cs

@@ -64,11 +64,14 @@ namespace OTSModelSharp
                 m_listMeasuredFieldCentrePoints = new List<System.Drawing.Point>();
             }
             var scanfieldsize = m_poSEMDataMsr.GetScanFieldSize();
-            fieldmgrclr = new CFieldMgrClr(scanfieldsize);
+
+            OTS_FIVE_TIES_OPTIONS nImageSizeId = GetImageScanParam().GetImagePixelSize();
+            long nResulotionId = RESOLUTION_ID_FIRST_TIE + (long)nImageSizeId;
+            
+            fieldmgrclr = new CFieldMgrClr(scanfieldsize, RESOLUTION_VALUE[nResulotionId]);
             CDomain domainclr = new CDomain(a_pMeasureArea.GetShape(),a_pMeasureArea.GetRectDomain());
             domainclr.SetPolygonPoint(a_pMeasureArea.GetPolygonPoint());
-            OTS_FIVE_TIES_OPTIONS nImageSizeId = m_poImageScanParam.GetImagePixelSize();
-            int nResulotionId = RESOLUTION_ID_FIRST_TIE + (int)nImageSizeId;
+            
             System.Drawing.Size sizePixelImage = RESOLUTION_VALUE[nResulotionId];
            
             fieldmgrclr.Init(domainclr.GetClrDomainObj(), sizePixelImage,scanfieldsize, (int)m_poImageScanParam.GetFieldStartMode());

+ 1 - 1
OTSIncAMeasureApp/0-OTSModel/Measure/GetBSEPic/CSmplMeasure.cs

@@ -693,7 +693,7 @@ namespace OTSModelSharp
                 CImageHandler imgpro = new CImageHandler();
                 int scanfldsize = m_pSample.GetSEMDataMsr().GetScanFieldSize();
                 List<COTSParticleClr> mergedParticles = new List<COTSParticleClr>();
-                imgpro.MergeBigBoundaryParticles(m_pSampleRstFile.GetFieldData(), m_pSample.CalculatePixelSize(), scanfldsize, ref mergedParticles);
+                imgpro.MergeBigBoundaryParticles(m_pSampleRstFile.GetFieldData(), m_pSample.CalculatePixelSize(), scanfldsize, m_pSample.GetResolutionSize(), ref mergedParticles);
 
                 
 

+ 12 - 12
OTSIncAMeasureApp/0-OTSModel/Measure/GetParamData/OTSGeneralParam.cs

@@ -13,7 +13,7 @@ namespace OTSModelSharp
         //--------------------definition-------------
         int m_StdLibTypeIndex;
         double m_dDefaultArea;
-        int m_nStartModel;
+        int m_nPropertyDisplayMode;
         bool m_bMeasSwitch;
         string m_strDefaultSampleName;
         string m_strMeasParamFileFolderName;
@@ -57,7 +57,7 @@ namespace OTSModelSharp
               (m_StdLibTypeIndex == a_oSource.m_StdLibTypeIndex) && (m_DefaultmembraneType == a_oSource.m_DefaultmembraneType) &&
               (m_nDefaultShape == a_oSource.m_nDefaultShape) &&
               (m_dDefaultArea == a_oSource.m_dDefaultArea) &&
-              (m_nStartModel == a_oSource.m_nStartModel);
+              (m_nPropertyDisplayMode == a_oSource.m_nPropertyDisplayMode);
         }
         public string GetSampleName()
         {
@@ -109,13 +109,13 @@ namespace OTSModelSharp
             m_StdLibTypeIndex = a_index;
         }
 
-        public int GetModel()
+        public int PropertyDisplayMode()
         {
-            return m_nStartModel;
+            return m_nPropertyDisplayMode;
         }
-        public void SetModel(int a_StartModel)
+        public void SetPropertyDisplayMode(int a_PropertyDisplayMode)
         {
-            m_nStartModel = a_StartModel;
+            m_nPropertyDisplayMode = a_PropertyDisplayMode;
         }
         public string GetLaboratoty()
         {
@@ -222,7 +222,7 @@ namespace OTSModelSharp
             m_dDefaultArea = 0;
             m_DefaultMsrParam =  new CSampleParam();
 
-            m_nStartModel = 0;
+            m_nPropertyDisplayMode = 0;
             m_strLaboratoty = ("");
             m_strAnalysisReferenceNumber = ("");
             m_strCustomerName = ("");
@@ -247,7 +247,7 @@ namespace OTSModelSharp
             m_nDefaultShape = a_oSource.m_nDefaultShape;
             m_dDefaultArea = a_oSource.m_dDefaultArea;
 
-            m_nStartModel = a_oSource.m_nStartModel;
+            m_nPropertyDisplayMode = a_oSource.m_nPropertyDisplayMode;
             m_strLaboratoty = a_oSource.m_strLaboratoty;
             m_strAnalysisReferenceNumber = a_oSource.m_strAnalysisReferenceNumber;
             m_strCustomerName = a_oSource.m_strCustomerName;
@@ -271,7 +271,7 @@ namespace OTSModelSharp
             xInt xnDefaultShape = new xInt();
             xBool xbUseSysSTD = new xBool();
             xDouble xbDefaultArea = new xDouble();
-            xInt xnStartModel = new xInt();
+            xInt xnPropertyDisplayMode = new xInt();
             Slo slo = new Slo();
             slo.Register("DefaultSampleName", xstrDefaultSampleName);
             slo.Register("MeasSwitch", xbMeasSwitch);
@@ -283,7 +283,7 @@ namespace OTSModelSharp
             slo.Register("DefaultShape", xnDefaultShape);
             slo.Register("UseSysSTD", xbUseSysSTD);
             slo.Register("DefaultArea", xbDefaultArea);
-            slo.Register("StartModel", xnStartModel);
+            slo.Register("PropertyDisplayMode", xnPropertyDisplayMode);
 
             if (isStoring)
             {
@@ -297,7 +297,7 @@ namespace OTSModelSharp
                 xnDefaultShape.AssignValue((int)m_nDefaultShape);
                 xbUseSysSTD.AssignValue(m_bSysSTD);
                 xbDefaultArea.AssignValue(m_dDefaultArea);
-                xnStartModel.AssignValue(m_nStartModel);
+                xnPropertyDisplayMode.AssignValue(m_nPropertyDisplayMode);
 
                 slo.Serialize(true, classDoc, rootNode);
             }
@@ -315,7 +315,7 @@ namespace OTSModelSharp
                 m_nDefaultShape = (otsdataconst.DOMAIN_SHAPE)xnDefaultShape.value();
                 m_bSysSTD =Convert.ToBoolean(xbUseSysSTD.toString());
                 m_dDefaultArea = xbDefaultArea.value();
-                m_nStartModel= xnStartModel.value();
+                m_nPropertyDisplayMode= xnPropertyDisplayMode.value();
             }
         }
     }

+ 11 - 0
OTSIncAMeasureApp/0-OTSModel/OTSDataType/COTSSample.cs

@@ -2166,6 +2166,17 @@ namespace OTSDataType
             // return pixel size 
             return dPixelSize;
         }
+
+        public Size GetResolutionSize()
+        {
+             // get scan field size
+             int nScanFieldSize = m_poSEMDataMsr.GetScanFieldSize();
+            // get image size
+            OTS_FIVE_TIES_OPTIONS nImageSizeId = m_poMsrParams.GetImageScanParam().GetImagePixelSize();
+            long nResulotionId = RESOLUTION_ID_FIRST_TIE + (long)nImageSizeId;
+            return RESOLUTION_VALUE[nResulotionId];
+        }
+
         public CPropItem GetPropItemById(OTS_SAMPLE_PROP_GRID_ITEMS a_nId)
         {
             CPropItem pPropItem = new CPropItem();

+ 1 - 1
OTSIncAMeasureApp/0-OTSModel/OTSDataType/CSize.cs

@@ -1,6 +1,6 @@
 namespace OTSDataType
 {
-     class CSize
+     public class CSize
     {
        public   int cx;
         public int cy;

+ 3 - 2
OTSIncAMeasureApp/0-OTSModel/ServiceCenter/CImageHandler.cs

@@ -169,7 +169,7 @@ namespace OTSModelSharp.ServiceInterface
             return prmclr;
         }
 
-        public bool MergeBigBoundaryParticles(List<COTSFieldData> allFields, double pixelSize, int scanFieldSize, ref List<COTSParticleClr> mergedParts)
+        public bool MergeBigBoundaryParticles(List<COTSFieldData> allFields, double pixelSize, int scanFieldSize, Size ResolutionSize, ref List<COTSParticleClr> mergedParts)
         {
             List<COTSFieldDataClr> fldclrs = new List<COTSFieldDataClr>();
             foreach (var f in allFields)
@@ -186,7 +186,8 @@ namespace OTSModelSharp.ServiceInterface
                 fldclrs.Add(fldclr);
             }
             OTSIMGPROC.ImageProForClr imgpro = new OTSIMGPROC.ImageProForClr();
-            imgpro.MergeBigBoundaryParticles(fldclrs, pixelSize, scanFieldSize, mergedParts);
+
+            imgpro.MergeBigBoundaryParticles(fldclrs, pixelSize, scanFieldSize, ResolutionSize, mergedParts);
             return true;
 
         }

+ 1 - 1
OTSIncAMeasureApp/0-OTSModel/ServiceCenter/IImageProcess.cs

@@ -15,7 +15,7 @@ namespace OTSModelSharp.ImageProcess
        
         void BDilate3(string source, string target, int wDegree, int rows, int columns);
         void BErode3(string source, string target, int wDegree, int rows, int columns);
-        bool MergeBigBoundaryParticles(List<COTSFieldData> allFields, double pixelSize, int scanFieldSize,ref List<COTSParticleClr> mergedParts);
+        bool MergeBigBoundaryParticles(List<COTSFieldData> allFields, double pixelSize, int scanFieldSize, System.Drawing.Size ResolutionSize ,ref List<COTSParticleClr> mergedParts);
 
     }
 }

+ 3 - 3
OTSIncAMeasureApp/3-OTSDisplaySourceGridData/OTSPropertyWindow.cs

@@ -45,15 +45,15 @@ namespace OTSMeasureApp
             m_SampleGrid.InitGrid();
             m_SampleGrid.ShowSampleInfoGrid(SampleInfo);
             ;
-            int iModel = m_MeasureAppForm.m_ProjParam.m_DefaultParam.GetGenParam().GetModel();
-            if (iModel == 1)
+            int iPropertyDisplayMode = m_MeasureAppForm.m_ProjParam.m_DefaultParam.GetGenParam().PropertyDisplayMode();
+            if (iPropertyDisplayMode == 1)
             {
                 for (int i = 6; i < PropGrid.Rows.Count(); i++)
                 {
                     PropGrid.Rows.HideRow(i);
                 }
             }
-            else if (iModel == 0)
+            else if (iPropertyDisplayMode == 0)
             {
                 for (int i = 6; i < PropGrid.Rows.Count(); i++)
                 {

+ 4 - 4
OTSIncAMeasureApp/7-OTSProgMgrInfo/ProgMgrInfoForm.cs

@@ -140,7 +140,7 @@ namespace OTSMeasureApp
     /// <summary>
     /// 模式选择下拉选项
     /// </summary>
-    enum StartModel
+    enum PropertyDisplayMode
     {
         ProfessionalMode = 0,             //专家模式
         NormalMode = 1,            //普通模式
@@ -475,7 +475,7 @@ namespace OTSMeasureApp
 
             //模式选择
             IDC_COMBO_Model.Items.Clear();
-            foreach (otsdataconst.StartModel enum_one in Enum.GetValues(typeof(StartModel)))
+            foreach (otsdataconst.StartModel enum_one in Enum.GetValues(typeof(PropertyDisplayMode)))
             {
                 OTSPeriodicTable.ComboBoxItem cbi = new OTSPeriodicTable.ComboBoxItem();
                 cbi.Text = GetModelString(enum_one);
@@ -741,7 +741,7 @@ namespace OTSMeasureApp
             foreach (OTSPeriodicTable.ComboBoxItem cbi in IDC_COMBO_Model.Items)
             {
                 if (cbi.Value.ToString() != "")
-                    if (Convert.ToInt32(cbi.Value) == m_cgenparam.GetModel())
+                    if (Convert.ToInt32(cbi.Value) == m_cgenparam.PropertyDisplayMode())
                     {
                         IDC_COMBO_Model.SelectedItem = cbi;
                     }
@@ -979,7 +979,7 @@ namespace OTSMeasureApp
 
             //模式选择
             OTSPeriodicTable.ComboBoxItem enum_Model = (OTSPeriodicTable.ComboBoxItem)IDC_COMBO_Model.SelectedItem;
-            m_cgenparam.SetModel(Convert.ToInt32(enum_Model.Value));
+            m_cgenparam.SetPropertyDisplayMode(Convert.ToInt32(enum_Model.Value));
         }
 
         /// <summary>

+ 194 - 194
OTSIncAMeasureApp/7-OTSProgMgrInfo/ProgMgrInfoForm.designer.cs

@@ -51,13 +51,6 @@
             this.label3 = new System.Windows.Forms.Label();
             this.label2 = new System.Windows.Forms.Label();
             this.groupBox3 = new System.Windows.Forms.GroupBox();
-            this.IDC_IMAGE_SIZE_SWITCH = new System.Windows.Forms.CheckBox();
-            this.IDC_SCAN_SPEED_SWITCH = new System.Windows.Forms.CheckBox();
-            this.IDC_FETCH_IMAGE_SWITCH = new System.Windows.Forms.CheckBox();
-            this.IDC_STOP_PARTICAL_SWITCH = new System.Windows.Forms.CheckBox();
-            this.IDC_STOP_FIELD_SWITCH = new System.Windows.Forms.CheckBox();
-            this.IDC_STOP_TIME_SWITCH = new System.Windows.Forms.CheckBox();
-            this.IDC_STOP_MODE_SWITCH = new System.Windows.Forms.CheckBox();
             this.IDC_EDIT_STOP_INCA_NUM = new System.Windows.Forms.TextBox();
             this.IDC_EDIT_STOP_FIELD_NUM = new System.Windows.Forms.TextBox();
             this.IDC_EDIT_STOP_TIME = new System.Windows.Forms.TextBox();
@@ -72,6 +65,13 @@
             this.label9 = new System.Windows.Forms.Label();
             this.label8 = new System.Windows.Forms.Label();
             this.label7 = new System.Windows.Forms.Label();
+            this.IDC_IMAGE_SIZE_SWITCH = new System.Windows.Forms.CheckBox();
+            this.IDC_SCAN_SPEED_SWITCH = new System.Windows.Forms.CheckBox();
+            this.IDC_FETCH_IMAGE_SWITCH = new System.Windows.Forms.CheckBox();
+            this.IDC_STOP_PARTICAL_SWITCH = new System.Windows.Forms.CheckBox();
+            this.IDC_STOP_FIELD_SWITCH = new System.Windows.Forms.CheckBox();
+            this.IDC_STOP_TIME_SWITCH = new System.Windows.Forms.CheckBox();
+            this.IDC_STOP_MODE_SWITCH = new System.Windows.Forms.CheckBox();
             this.groupBox4 = new System.Windows.Forms.GroupBox();
             this.IDC_COMBO_STDSelect = new System.Windows.Forms.ComboBox();
             this.IDC_SYS_LIB = new System.Windows.Forms.CheckBox();
@@ -100,12 +100,6 @@
             this.label37 = new System.Windows.Forms.Label();
             this.IDC_COMBO_BGREMOVETYPE = new System.Windows.Forms.ComboBox();
             this.label43 = new System.Windows.Forms.Label();
-            this.IDC_PART_GRAY_MIN_SWITCH = new System.Windows.Forms.CheckBox();
-            this.IDC_BACK_MIN_SWITCH = new System.Windows.Forms.CheckBox();
-            this.IDC_PART_MIN_SWITCH = new System.Windows.Forms.CheckBox();
-            this.IDC_PART_GRAY_MAX_SWITCH = new System.Windows.Forms.CheckBox();
-            this.IDC_BACK_MAX_SWITCH = new System.Windows.Forms.CheckBox();
-            this.IDC_PART_MAX_SWITCH = new System.Windows.Forms.CheckBox();
             this.label22 = new System.Windows.Forms.Label();
             this.label21 = new System.Windows.Forms.Label();
             this.label25 = new System.Windows.Forms.Label();
@@ -121,12 +115,15 @@
             this.label26 = new System.Windows.Forms.Label();
             this.label23 = new System.Windows.Forms.Label();
             this.label20 = new System.Windows.Forms.Label();
+            this.IDC_PART_GRAY_MIN_SWITCH = new System.Windows.Forms.CheckBox();
+            this.IDC_BACK_MIN_SWITCH = new System.Windows.Forms.CheckBox();
+            this.IDC_PART_MIN_SWITCH = new System.Windows.Forms.CheckBox();
+            this.IDC_PART_GRAY_MAX_SWITCH = new System.Windows.Forms.CheckBox();
+            this.IDC_BACK_MAX_SWITCH = new System.Windows.Forms.CheckBox();
+            this.IDC_PART_MAX_SWITCH = new System.Windows.Forms.CheckBox();
             this.groupBox6 = new System.Windows.Forms.GroupBox();
             this.IDC_COMBO_USINGXRAYS = new System.Windows.Forms.ComboBox();
             this.label44 = new System.Windows.Forms.Label();
-            this.IDC_XRAY_COUNT_SWITCH = new System.Windows.Forms.CheckBox();
-            this.IDC_XRAY_TIME_SWITCH = new System.Windows.Forms.CheckBox();
-            this.IDC_XRAY_MODE_SWITCH = new System.Windows.Forms.CheckBox();
             this.IDC_TEXTBOX_SEARCHXRAYSPEED_TIME = new System.Windows.Forms.TextBox();
             this.label38 = new System.Windows.Forms.Label();
             this.label30 = new System.Windows.Forms.Label();
@@ -141,6 +138,9 @@
             this.IDC_EDIT_ANALYXRAYAIMVALUE = new System.Windows.Forms.TextBox();
             this.label33 = new System.Windows.Forms.Label();
             this.label31 = new System.Windows.Forms.Label();
+            this.IDC_XRAY_COUNT_SWITCH = new System.Windows.Forms.CheckBox();
+            this.IDC_XRAY_TIME_SWITCH = new System.Windows.Forms.CheckBox();
+            this.IDC_XRAY_MODE_SWITCH = new System.Windows.Forms.CheckBox();
             this.btnok = new System.Windows.Forms.Button();
             this.btncancel = new System.Windows.Forms.Button();
             this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
@@ -163,7 +163,7 @@
             this.groupBox1.Controls.Add(this.label41);
             this.groupBox1.Controls.Add(this.label1);
             this.groupBox1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.groupBox1.Location = new System.Drawing.Point(12, 6);
+            this.groupBox1.Location = new System.Drawing.Point(478, 2);
             this.groupBox1.Name = "groupBox1";
             this.groupBox1.Size = new System.Drawing.Size(452, 86);
             this.groupBox1.TabIndex = 0;
@@ -226,7 +226,7 @@
             this.groupBox2.Controls.Add(this.label4);
             this.groupBox2.Controls.Add(this.label3);
             this.groupBox2.Controls.Add(this.label2);
-            this.groupBox2.Location = new System.Drawing.Point(12, 94);
+            this.groupBox2.Location = new System.Drawing.Point(13, 95);
             this.groupBox2.Name = "groupBox2";
             this.groupBox2.Size = new System.Drawing.Size(452, 232);
             this.groupBox2.TabIndex = 40;
@@ -395,83 +395,13 @@
             this.groupBox3.Controls.Add(this.label9);
             this.groupBox3.Controls.Add(this.label8);
             this.groupBox3.Controls.Add(this.label7);
-            this.groupBox3.Location = new System.Drawing.Point(476, 16);
+            this.groupBox3.Location = new System.Drawing.Point(471, 94);
             this.groupBox3.Name = "groupBox3";
             this.groupBox3.Size = new System.Drawing.Size(459, 270);
             this.groupBox3.TabIndex = 230;
             this.groupBox3.TabStop = false;
             this.groupBox3.Text = "图像扫描参数";
             // 
-            // IDC_IMAGE_SIZE_SWITCH
-            // 
-            this.IDC_IMAGE_SIZE_SWITCH.AutoSize = true;
-            this.IDC_IMAGE_SIZE_SWITCH.Location = new System.Drawing.Point(986, 247);
-            this.IDC_IMAGE_SIZE_SWITCH.Name = "IDC_IMAGE_SIZE_SWITCH";
-            this.IDC_IMAGE_SIZE_SWITCH.Size = new System.Drawing.Size(22, 21);
-            this.IDC_IMAGE_SIZE_SWITCH.TabIndex = 539;
-            this.IDC_IMAGE_SIZE_SWITCH.UseVisualStyleBackColor = true;
-            this.IDC_IMAGE_SIZE_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_IMAGE_SIZE_SWITCH_CheckedChanged);
-            // 
-            // IDC_SCAN_SPEED_SWITCH
-            // 
-            this.IDC_SCAN_SPEED_SWITCH.AutoSize = true;
-            this.IDC_SCAN_SPEED_SWITCH.Location = new System.Drawing.Point(986, 214);
-            this.IDC_SCAN_SPEED_SWITCH.Name = "IDC_SCAN_SPEED_SWITCH";
-            this.IDC_SCAN_SPEED_SWITCH.Size = new System.Drawing.Size(22, 21);
-            this.IDC_SCAN_SPEED_SWITCH.TabIndex = 538;
-            this.IDC_SCAN_SPEED_SWITCH.UseVisualStyleBackColor = true;
-            this.IDC_SCAN_SPEED_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_SCAN_SPEED_SWITCH_CheckedChanged);
-            // 
-            // IDC_FETCH_IMAGE_SWITCH
-            // 
-            this.IDC_FETCH_IMAGE_SWITCH.AutoSize = true;
-            this.IDC_FETCH_IMAGE_SWITCH.Location = new System.Drawing.Point(986, 181);
-            this.IDC_FETCH_IMAGE_SWITCH.Name = "IDC_FETCH_IMAGE_SWITCH";
-            this.IDC_FETCH_IMAGE_SWITCH.Size = new System.Drawing.Size(22, 21);
-            this.IDC_FETCH_IMAGE_SWITCH.TabIndex = 537;
-            this.IDC_FETCH_IMAGE_SWITCH.UseVisualStyleBackColor = true;
-            this.IDC_FETCH_IMAGE_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_FETCH_IMAGE_SWITCH_CheckedChanged);
-            // 
-            // IDC_STOP_PARTICAL_SWITCH
-            // 
-            this.IDC_STOP_PARTICAL_SWITCH.AutoSize = true;
-            this.IDC_STOP_PARTICAL_SWITCH.Location = new System.Drawing.Point(986, 148);
-            this.IDC_STOP_PARTICAL_SWITCH.Name = "IDC_STOP_PARTICAL_SWITCH";
-            this.IDC_STOP_PARTICAL_SWITCH.Size = new System.Drawing.Size(22, 21);
-            this.IDC_STOP_PARTICAL_SWITCH.TabIndex = 536;
-            this.IDC_STOP_PARTICAL_SWITCH.UseVisualStyleBackColor = true;
-            this.IDC_STOP_PARTICAL_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_STOP_PARTICAL_SWITCH_CheckedChanged);
-            // 
-            // IDC_STOP_FIELD_SWITCH
-            // 
-            this.IDC_STOP_FIELD_SWITCH.AutoSize = true;
-            this.IDC_STOP_FIELD_SWITCH.Location = new System.Drawing.Point(986, 112);
-            this.IDC_STOP_FIELD_SWITCH.Name = "IDC_STOP_FIELD_SWITCH";
-            this.IDC_STOP_FIELD_SWITCH.Size = new System.Drawing.Size(22, 21);
-            this.IDC_STOP_FIELD_SWITCH.TabIndex = 535;
-            this.IDC_STOP_FIELD_SWITCH.UseVisualStyleBackColor = true;
-            this.IDC_STOP_FIELD_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_STOP_FIELD_SWITCH_CheckedChanged);
-            // 
-            // IDC_STOP_TIME_SWITCH
-            // 
-            this.IDC_STOP_TIME_SWITCH.AutoSize = true;
-            this.IDC_STOP_TIME_SWITCH.Location = new System.Drawing.Point(986, 78);
-            this.IDC_STOP_TIME_SWITCH.Name = "IDC_STOP_TIME_SWITCH";
-            this.IDC_STOP_TIME_SWITCH.Size = new System.Drawing.Size(22, 21);
-            this.IDC_STOP_TIME_SWITCH.TabIndex = 534;
-            this.IDC_STOP_TIME_SWITCH.UseVisualStyleBackColor = true;
-            this.IDC_STOP_TIME_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_STOP_TIME_SWITCH_CheckedChanged);
-            // 
-            // IDC_STOP_MODE_SWITCH
-            // 
-            this.IDC_STOP_MODE_SWITCH.AutoSize = true;
-            this.IDC_STOP_MODE_SWITCH.Location = new System.Drawing.Point(986, 43);
-            this.IDC_STOP_MODE_SWITCH.Name = "IDC_STOP_MODE_SWITCH";
-            this.IDC_STOP_MODE_SWITCH.Size = new System.Drawing.Size(22, 21);
-            this.IDC_STOP_MODE_SWITCH.TabIndex = 533;
-            this.IDC_STOP_MODE_SWITCH.UseVisualStyleBackColor = true;
-            this.IDC_STOP_MODE_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_STOP_MODE_SWITCH_CheckedChanged);
-            // 
             // IDC_EDIT_STOP_INCA_NUM
             // 
             this.IDC_EDIT_STOP_INCA_NUM.Location = new System.Drawing.Point(177, 128);
@@ -602,6 +532,76 @@
             this.label7.TabIndex = 240;
             this.label7.Text = "测量终止方式";
             // 
+            // IDC_IMAGE_SIZE_SWITCH
+            // 
+            this.IDC_IMAGE_SIZE_SWITCH.AutoSize = true;
+            this.IDC_IMAGE_SIZE_SWITCH.Location = new System.Drawing.Point(986, 247);
+            this.IDC_IMAGE_SIZE_SWITCH.Name = "IDC_IMAGE_SIZE_SWITCH";
+            this.IDC_IMAGE_SIZE_SWITCH.Size = new System.Drawing.Size(22, 21);
+            this.IDC_IMAGE_SIZE_SWITCH.TabIndex = 539;
+            this.IDC_IMAGE_SIZE_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_IMAGE_SIZE_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_IMAGE_SIZE_SWITCH_CheckedChanged);
+            // 
+            // IDC_SCAN_SPEED_SWITCH
+            // 
+            this.IDC_SCAN_SPEED_SWITCH.AutoSize = true;
+            this.IDC_SCAN_SPEED_SWITCH.Location = new System.Drawing.Point(986, 214);
+            this.IDC_SCAN_SPEED_SWITCH.Name = "IDC_SCAN_SPEED_SWITCH";
+            this.IDC_SCAN_SPEED_SWITCH.Size = new System.Drawing.Size(22, 21);
+            this.IDC_SCAN_SPEED_SWITCH.TabIndex = 538;
+            this.IDC_SCAN_SPEED_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_SCAN_SPEED_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_SCAN_SPEED_SWITCH_CheckedChanged);
+            // 
+            // IDC_FETCH_IMAGE_SWITCH
+            // 
+            this.IDC_FETCH_IMAGE_SWITCH.AutoSize = true;
+            this.IDC_FETCH_IMAGE_SWITCH.Location = new System.Drawing.Point(986, 181);
+            this.IDC_FETCH_IMAGE_SWITCH.Name = "IDC_FETCH_IMAGE_SWITCH";
+            this.IDC_FETCH_IMAGE_SWITCH.Size = new System.Drawing.Size(22, 21);
+            this.IDC_FETCH_IMAGE_SWITCH.TabIndex = 537;
+            this.IDC_FETCH_IMAGE_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_FETCH_IMAGE_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_FETCH_IMAGE_SWITCH_CheckedChanged);
+            // 
+            // IDC_STOP_PARTICAL_SWITCH
+            // 
+            this.IDC_STOP_PARTICAL_SWITCH.AutoSize = true;
+            this.IDC_STOP_PARTICAL_SWITCH.Location = new System.Drawing.Point(986, 148);
+            this.IDC_STOP_PARTICAL_SWITCH.Name = "IDC_STOP_PARTICAL_SWITCH";
+            this.IDC_STOP_PARTICAL_SWITCH.Size = new System.Drawing.Size(22, 21);
+            this.IDC_STOP_PARTICAL_SWITCH.TabIndex = 536;
+            this.IDC_STOP_PARTICAL_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_STOP_PARTICAL_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_STOP_PARTICAL_SWITCH_CheckedChanged);
+            // 
+            // IDC_STOP_FIELD_SWITCH
+            // 
+            this.IDC_STOP_FIELD_SWITCH.AutoSize = true;
+            this.IDC_STOP_FIELD_SWITCH.Location = new System.Drawing.Point(986, 112);
+            this.IDC_STOP_FIELD_SWITCH.Name = "IDC_STOP_FIELD_SWITCH";
+            this.IDC_STOP_FIELD_SWITCH.Size = new System.Drawing.Size(22, 21);
+            this.IDC_STOP_FIELD_SWITCH.TabIndex = 535;
+            this.IDC_STOP_FIELD_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_STOP_FIELD_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_STOP_FIELD_SWITCH_CheckedChanged);
+            // 
+            // IDC_STOP_TIME_SWITCH
+            // 
+            this.IDC_STOP_TIME_SWITCH.AutoSize = true;
+            this.IDC_STOP_TIME_SWITCH.Location = new System.Drawing.Point(986, 78);
+            this.IDC_STOP_TIME_SWITCH.Name = "IDC_STOP_TIME_SWITCH";
+            this.IDC_STOP_TIME_SWITCH.Size = new System.Drawing.Size(22, 21);
+            this.IDC_STOP_TIME_SWITCH.TabIndex = 534;
+            this.IDC_STOP_TIME_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_STOP_TIME_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_STOP_TIME_SWITCH_CheckedChanged);
+            // 
+            // IDC_STOP_MODE_SWITCH
+            // 
+            this.IDC_STOP_MODE_SWITCH.AutoSize = true;
+            this.IDC_STOP_MODE_SWITCH.Location = new System.Drawing.Point(986, 43);
+            this.IDC_STOP_MODE_SWITCH.Name = "IDC_STOP_MODE_SWITCH";
+            this.IDC_STOP_MODE_SWITCH.Size = new System.Drawing.Size(22, 21);
+            this.IDC_STOP_MODE_SWITCH.TabIndex = 533;
+            this.IDC_STOP_MODE_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_STOP_MODE_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_STOP_MODE_SWITCH_CheckedChanged);
+            // 
             // groupBox4
             // 
             this.groupBox4.Controls.Add(this.IDC_COMBO_STDSelect);
@@ -626,9 +626,9 @@
             this.groupBox4.Controls.Add(this.label15);
             this.groupBox4.Controls.Add(this.label14);
             this.groupBox4.Controls.Add(this.IDC_BUTTON_MEASPRAMPATHSET);
-            this.groupBox4.Location = new System.Drawing.Point(12, 333);
+            this.groupBox4.Location = new System.Drawing.Point(471, 370);
             this.groupBox4.Name = "groupBox4";
-            this.groupBox4.Size = new System.Drawing.Size(452, 366);
+            this.groupBox4.Size = new System.Drawing.Size(459, 374);
             this.groupBox4.TabIndex = 380;
             this.groupBox4.TabStop = false;
             this.groupBox4.Text = "常规测量参数";
@@ -860,7 +860,7 @@
             this.groupBox5.Controls.Add(this.label26);
             this.groupBox5.Controls.Add(this.label23);
             this.groupBox5.Controls.Add(this.label20);
-            this.groupBox5.Location = new System.Drawing.Point(476, 291);
+            this.groupBox5.Location = new System.Drawing.Point(9, 360);
             this.groupBox5.Name = "groupBox5";
             this.groupBox5.Size = new System.Drawing.Size(459, 230);
             this.groupBox5.TabIndex = 540;
@@ -903,66 +903,6 @@
             this.label43.TabIndex = 813;
             this.label43.Text = "背景处理方式";
             // 
-            // IDC_PART_GRAY_MIN_SWITCH
-            // 
-            this.IDC_PART_GRAY_MIN_SWITCH.AutoSize = true;
-            this.IDC_PART_GRAY_MIN_SWITCH.Location = new System.Drawing.Point(986, 477);
-            this.IDC_PART_GRAY_MIN_SWITCH.Name = "IDC_PART_GRAY_MIN_SWITCH";
-            this.IDC_PART_GRAY_MIN_SWITCH.Size = new System.Drawing.Size(22, 21);
-            this.IDC_PART_GRAY_MIN_SWITCH.TabIndex = 812;
-            this.IDC_PART_GRAY_MIN_SWITCH.UseVisualStyleBackColor = true;
-            this.IDC_PART_GRAY_MIN_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_PART_GRAY_SWITCH_CheckedChanged);
-            // 
-            // IDC_BACK_MIN_SWITCH
-            // 
-            this.IDC_BACK_MIN_SWITCH.AutoSize = true;
-            this.IDC_BACK_MIN_SWITCH.Location = new System.Drawing.Point(986, 437);
-            this.IDC_BACK_MIN_SWITCH.Name = "IDC_BACK_MIN_SWITCH";
-            this.IDC_BACK_MIN_SWITCH.Size = new System.Drawing.Size(22, 21);
-            this.IDC_BACK_MIN_SWITCH.TabIndex = 811;
-            this.IDC_BACK_MIN_SWITCH.UseVisualStyleBackColor = true;
-            this.IDC_BACK_MIN_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_BACK_MIN_SWITCH_CheckedChanged);
-            // 
-            // IDC_PART_MIN_SWITCH
-            // 
-            this.IDC_PART_MIN_SWITCH.AutoSize = true;
-            this.IDC_PART_MIN_SWITCH.Location = new System.Drawing.Point(986, 399);
-            this.IDC_PART_MIN_SWITCH.Name = "IDC_PART_MIN_SWITCH";
-            this.IDC_PART_MIN_SWITCH.Size = new System.Drawing.Size(22, 21);
-            this.IDC_PART_MIN_SWITCH.TabIndex = 810;
-            this.IDC_PART_MIN_SWITCH.UseVisualStyleBackColor = true;
-            this.IDC_PART_MIN_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_PART_MIN_SWITCH_CheckedChanged);
-            // 
-            // IDC_PART_GRAY_MAX_SWITCH
-            // 
-            this.IDC_PART_GRAY_MAX_SWITCH.AutoSize = true;
-            this.IDC_PART_GRAY_MAX_SWITCH.Location = new System.Drawing.Point(1051, 474);
-            this.IDC_PART_GRAY_MAX_SWITCH.Name = "IDC_PART_GRAY_MAX_SWITCH";
-            this.IDC_PART_GRAY_MAX_SWITCH.Size = new System.Drawing.Size(22, 21);
-            this.IDC_PART_GRAY_MAX_SWITCH.TabIndex = 692;
-            this.IDC_PART_GRAY_MAX_SWITCH.UseVisualStyleBackColor = true;
-            this.IDC_PART_GRAY_MAX_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_PART_GRAY_MAX_CheckedChanged);
-            // 
-            // IDC_BACK_MAX_SWITCH
-            // 
-            this.IDC_BACK_MAX_SWITCH.AutoSize = true;
-            this.IDC_BACK_MAX_SWITCH.Location = new System.Drawing.Point(1051, 434);
-            this.IDC_BACK_MAX_SWITCH.Name = "IDC_BACK_MAX_SWITCH";
-            this.IDC_BACK_MAX_SWITCH.Size = new System.Drawing.Size(22, 21);
-            this.IDC_BACK_MAX_SWITCH.TabIndex = 691;
-            this.IDC_BACK_MAX_SWITCH.UseVisualStyleBackColor = true;
-            this.IDC_BACK_MAX_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_BACK_MAX_SWITCH_CheckedChanged);
-            // 
-            // IDC_PART_MAX_SWITCH
-            // 
-            this.IDC_PART_MAX_SWITCH.AutoSize = true;
-            this.IDC_PART_MAX_SWITCH.Location = new System.Drawing.Point(1051, 396);
-            this.IDC_PART_MAX_SWITCH.Name = "IDC_PART_MAX_SWITCH";
-            this.IDC_PART_MAX_SWITCH.Size = new System.Drawing.Size(22, 21);
-            this.IDC_PART_MAX_SWITCH.TabIndex = 540;
-            this.IDC_PART_MAX_SWITCH.UseVisualStyleBackColor = true;
-            this.IDC_PART_MAX_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_PART_MAX_SWITCH_CheckedChanged);
-            // 
             // label22
             // 
             this.label22.AutoSize = true;
@@ -1098,6 +1038,66 @@
             this.label20.TabIndex = 550;
             this.label20.Text = "颗粒尺寸范围";
             // 
+            // IDC_PART_GRAY_MIN_SWITCH
+            // 
+            this.IDC_PART_GRAY_MIN_SWITCH.AutoSize = true;
+            this.IDC_PART_GRAY_MIN_SWITCH.Location = new System.Drawing.Point(986, 477);
+            this.IDC_PART_GRAY_MIN_SWITCH.Name = "IDC_PART_GRAY_MIN_SWITCH";
+            this.IDC_PART_GRAY_MIN_SWITCH.Size = new System.Drawing.Size(22, 21);
+            this.IDC_PART_GRAY_MIN_SWITCH.TabIndex = 812;
+            this.IDC_PART_GRAY_MIN_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_PART_GRAY_MIN_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_PART_GRAY_SWITCH_CheckedChanged);
+            // 
+            // IDC_BACK_MIN_SWITCH
+            // 
+            this.IDC_BACK_MIN_SWITCH.AutoSize = true;
+            this.IDC_BACK_MIN_SWITCH.Location = new System.Drawing.Point(986, 437);
+            this.IDC_BACK_MIN_SWITCH.Name = "IDC_BACK_MIN_SWITCH";
+            this.IDC_BACK_MIN_SWITCH.Size = new System.Drawing.Size(22, 21);
+            this.IDC_BACK_MIN_SWITCH.TabIndex = 811;
+            this.IDC_BACK_MIN_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_BACK_MIN_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_BACK_MIN_SWITCH_CheckedChanged);
+            // 
+            // IDC_PART_MIN_SWITCH
+            // 
+            this.IDC_PART_MIN_SWITCH.AutoSize = true;
+            this.IDC_PART_MIN_SWITCH.Location = new System.Drawing.Point(986, 399);
+            this.IDC_PART_MIN_SWITCH.Name = "IDC_PART_MIN_SWITCH";
+            this.IDC_PART_MIN_SWITCH.Size = new System.Drawing.Size(22, 21);
+            this.IDC_PART_MIN_SWITCH.TabIndex = 810;
+            this.IDC_PART_MIN_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_PART_MIN_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_PART_MIN_SWITCH_CheckedChanged);
+            // 
+            // IDC_PART_GRAY_MAX_SWITCH
+            // 
+            this.IDC_PART_GRAY_MAX_SWITCH.AutoSize = true;
+            this.IDC_PART_GRAY_MAX_SWITCH.Location = new System.Drawing.Point(1051, 474);
+            this.IDC_PART_GRAY_MAX_SWITCH.Name = "IDC_PART_GRAY_MAX_SWITCH";
+            this.IDC_PART_GRAY_MAX_SWITCH.Size = new System.Drawing.Size(22, 21);
+            this.IDC_PART_GRAY_MAX_SWITCH.TabIndex = 692;
+            this.IDC_PART_GRAY_MAX_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_PART_GRAY_MAX_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_PART_GRAY_MAX_CheckedChanged);
+            // 
+            // IDC_BACK_MAX_SWITCH
+            // 
+            this.IDC_BACK_MAX_SWITCH.AutoSize = true;
+            this.IDC_BACK_MAX_SWITCH.Location = new System.Drawing.Point(1051, 434);
+            this.IDC_BACK_MAX_SWITCH.Name = "IDC_BACK_MAX_SWITCH";
+            this.IDC_BACK_MAX_SWITCH.Size = new System.Drawing.Size(22, 21);
+            this.IDC_BACK_MAX_SWITCH.TabIndex = 691;
+            this.IDC_BACK_MAX_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_BACK_MAX_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_BACK_MAX_SWITCH_CheckedChanged);
+            // 
+            // IDC_PART_MAX_SWITCH
+            // 
+            this.IDC_PART_MAX_SWITCH.AutoSize = true;
+            this.IDC_PART_MAX_SWITCH.Location = new System.Drawing.Point(1051, 396);
+            this.IDC_PART_MAX_SWITCH.Name = "IDC_PART_MAX_SWITCH";
+            this.IDC_PART_MAX_SWITCH.Size = new System.Drawing.Size(22, 21);
+            this.IDC_PART_MAX_SWITCH.TabIndex = 540;
+            this.IDC_PART_MAX_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_PART_MAX_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_PART_MAX_SWITCH_CheckedChanged);
+            // 
             // groupBox6
             // 
             this.groupBox6.Controls.Add(this.IDC_COMBO_USINGXRAYS);
@@ -1116,10 +1116,10 @@
             this.groupBox6.Controls.Add(this.IDC_EDIT_ANALYXRAYAIMVALUE);
             this.groupBox6.Controls.Add(this.label33);
             this.groupBox6.Controls.Add(this.label31);
-            this.groupBox6.Location = new System.Drawing.Point(476, 526);
+            this.groupBox6.Location = new System.Drawing.Point(9, 596);
             this.groupBox6.Name = "groupBox6";
-            this.groupBox6.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4);
-            this.groupBox6.Size = new System.Drawing.Size(459, 172);
+            this.groupBox6.Padding = new System.Windows.Forms.Padding(4);
+            this.groupBox6.Size = new System.Drawing.Size(459, 184);
             this.groupBox6.TabIndex = 700;
             this.groupBox6.TabStop = false;
             this.groupBox6.Text = "X-ray参数";
@@ -1129,7 +1129,7 @@
             this.IDC_COMBO_USINGXRAYS.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
             this.IDC_COMBO_USINGXRAYS.FormattingEnabled = true;
             this.IDC_COMBO_USINGXRAYS.Location = new System.Drawing.Point(177, 132);
-            this.IDC_COMBO_USINGXRAYS.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.IDC_COMBO_USINGXRAYS.Margin = new System.Windows.Forms.Padding(4);
             this.IDC_COMBO_USINGXRAYS.Name = "IDC_COMBO_USINGXRAYS";
             this.IDC_COMBO_USINGXRAYS.Size = new System.Drawing.Size(254, 26);
             this.IDC_COMBO_USINGXRAYS.TabIndex = 826;
@@ -1145,36 +1145,6 @@
             this.label44.TabIndex = 825;
             this.label44.Text = "是否使用X-ray";
             // 
-            // IDC_XRAY_COUNT_SWITCH
-            // 
-            this.IDC_XRAY_COUNT_SWITCH.AutoSize = true;
-            this.IDC_XRAY_COUNT_SWITCH.Location = new System.Drawing.Point(997, 621);
-            this.IDC_XRAY_COUNT_SWITCH.Name = "IDC_XRAY_COUNT_SWITCH";
-            this.IDC_XRAY_COUNT_SWITCH.Size = new System.Drawing.Size(22, 21);
-            this.IDC_XRAY_COUNT_SWITCH.TabIndex = 809;
-            this.IDC_XRAY_COUNT_SWITCH.UseVisualStyleBackColor = true;
-            this.IDC_XRAY_COUNT_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_XRAY_COUNT_SWITCH_CheckedChanged);
-            // 
-            // IDC_XRAY_TIME_SWITCH
-            // 
-            this.IDC_XRAY_TIME_SWITCH.AutoSize = true;
-            this.IDC_XRAY_TIME_SWITCH.Location = new System.Drawing.Point(997, 584);
-            this.IDC_XRAY_TIME_SWITCH.Name = "IDC_XRAY_TIME_SWITCH";
-            this.IDC_XRAY_TIME_SWITCH.Size = new System.Drawing.Size(22, 21);
-            this.IDC_XRAY_TIME_SWITCH.TabIndex = 808;
-            this.IDC_XRAY_TIME_SWITCH.UseVisualStyleBackColor = true;
-            this.IDC_XRAY_TIME_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_XRAY_TIME_SWITCH_CheckedChanged);
-            // 
-            // IDC_XRAY_MODE_SWITCH
-            // 
-            this.IDC_XRAY_MODE_SWITCH.AutoSize = true;
-            this.IDC_XRAY_MODE_SWITCH.Location = new System.Drawing.Point(997, 548);
-            this.IDC_XRAY_MODE_SWITCH.Name = "IDC_XRAY_MODE_SWITCH";
-            this.IDC_XRAY_MODE_SWITCH.Size = new System.Drawing.Size(22, 21);
-            this.IDC_XRAY_MODE_SWITCH.TabIndex = 693;
-            this.IDC_XRAY_MODE_SWITCH.UseVisualStyleBackColor = true;
-            this.IDC_XRAY_MODE_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_XRAY_MODE_SWITCH_CheckedChanged);
-            // 
             // IDC_TEXTBOX_SEARCHXRAYSPEED_TIME
             // 
             this.IDC_TEXTBOX_SEARCHXRAYSPEED_TIME.Location = new System.Drawing.Point(336, 208);
@@ -1236,7 +1206,7 @@
             // IDC_TEXTBOX_ANALYXRAYSPEED_TIME
             // 
             this.IDC_TEXTBOX_ANALYXRAYSPEED_TIME.Location = new System.Drawing.Point(177, 57);
-            this.IDC_TEXTBOX_ANALYXRAYSPEED_TIME.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.IDC_TEXTBOX_ANALYXRAYSPEED_TIME.Margin = new System.Windows.Forms.Padding(4);
             this.IDC_TEXTBOX_ANALYXRAYSPEED_TIME.MaxLength = 10;
             this.IDC_TEXTBOX_ANALYXRAYSPEED_TIME.Name = "IDC_TEXTBOX_ANALYXRAYSPEED_TIME";
             this.IDC_TEXTBOX_ANALYXRAYSPEED_TIME.Size = new System.Drawing.Size(205, 28);
@@ -1248,7 +1218,7 @@
             this.IDC_COMBO_ANALYXRAYSPEED.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
             this.IDC_COMBO_ANALYXRAYSPEED.FormattingEnabled = true;
             this.IDC_COMBO_ANALYXRAYSPEED.Location = new System.Drawing.Point(64, 248);
-            this.IDC_COMBO_ANALYXRAYSPEED.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.IDC_COMBO_ANALYXRAYSPEED.Margin = new System.Windows.Forms.Padding(4);
             this.IDC_COMBO_ANALYXRAYSPEED.Name = "IDC_COMBO_ANALYXRAYSPEED";
             this.IDC_COMBO_ANALYXRAYSPEED.Size = new System.Drawing.Size(106, 26);
             this.IDC_COMBO_ANALYXRAYSPEED.TabIndex = 780;
@@ -1310,9 +1280,39 @@
             this.label31.TabIndex = 750;
             this.label31.Text = "X-ray扫描方式";
             // 
+            // IDC_XRAY_COUNT_SWITCH
+            // 
+            this.IDC_XRAY_COUNT_SWITCH.AutoSize = true;
+            this.IDC_XRAY_COUNT_SWITCH.Location = new System.Drawing.Point(997, 621);
+            this.IDC_XRAY_COUNT_SWITCH.Name = "IDC_XRAY_COUNT_SWITCH";
+            this.IDC_XRAY_COUNT_SWITCH.Size = new System.Drawing.Size(22, 21);
+            this.IDC_XRAY_COUNT_SWITCH.TabIndex = 809;
+            this.IDC_XRAY_COUNT_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_XRAY_COUNT_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_XRAY_COUNT_SWITCH_CheckedChanged);
+            // 
+            // IDC_XRAY_TIME_SWITCH
+            // 
+            this.IDC_XRAY_TIME_SWITCH.AutoSize = true;
+            this.IDC_XRAY_TIME_SWITCH.Location = new System.Drawing.Point(997, 584);
+            this.IDC_XRAY_TIME_SWITCH.Name = "IDC_XRAY_TIME_SWITCH";
+            this.IDC_XRAY_TIME_SWITCH.Size = new System.Drawing.Size(22, 21);
+            this.IDC_XRAY_TIME_SWITCH.TabIndex = 808;
+            this.IDC_XRAY_TIME_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_XRAY_TIME_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_XRAY_TIME_SWITCH_CheckedChanged);
+            // 
+            // IDC_XRAY_MODE_SWITCH
+            // 
+            this.IDC_XRAY_MODE_SWITCH.AutoSize = true;
+            this.IDC_XRAY_MODE_SWITCH.Location = new System.Drawing.Point(997, 548);
+            this.IDC_XRAY_MODE_SWITCH.Name = "IDC_XRAY_MODE_SWITCH";
+            this.IDC_XRAY_MODE_SWITCH.Size = new System.Drawing.Size(22, 21);
+            this.IDC_XRAY_MODE_SWITCH.TabIndex = 693;
+            this.IDC_XRAY_MODE_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_XRAY_MODE_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_XRAY_MODE_SWITCH_CheckedChanged);
+            // 
             // btnok
             // 
-            this.btnok.Location = new System.Drawing.Point(706, 710);
+            this.btnok.Location = new System.Drawing.Point(701, 752);
             this.btnok.Name = "btnok";
             this.btnok.Size = new System.Drawing.Size(99, 33);
             this.btnok.TabIndex = 810;
@@ -1322,7 +1322,7 @@
             // 
             // btncancel
             // 
-            this.btncancel.Location = new System.Drawing.Point(836, 708);
+            this.btncancel.Location = new System.Drawing.Point(831, 750);
             this.btncancel.Name = "btncancel";
             this.btncancel.Size = new System.Drawing.Size(99, 33);
             this.btncancel.TabIndex = 820;
@@ -1357,10 +1357,10 @@
             // 
             this.groupBox7.Controls.Add(this.lbModelSel);
             this.groupBox7.Controls.Add(this.IDC_COMBO_Model);
-            this.groupBox7.Location = new System.Drawing.Point(10, 3);
-            this.groupBox7.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.groupBox7.Location = new System.Drawing.Point(15, 2);
+            this.groupBox7.Margin = new System.Windows.Forms.Padding(4);
             this.groupBox7.Name = "groupBox7";
-            this.groupBox7.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.groupBox7.Padding = new System.Windows.Forms.Padding(4);
             this.groupBox7.Size = new System.Drawing.Size(453, 86);
             this.groupBox7.TabIndex = 822;
             this.groupBox7.TabStop = false;
@@ -1370,7 +1370,7 @@
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(942, 756);
+            this.ClientSize = new System.Drawing.Size(942, 792);
             this.Controls.Add(this.IDC_IMAGE_SIZE_SWITCH);
             this.Controls.Add(this.groupBox7);
             this.Controls.Add(this.IDC_SCAN_SPEED_SWITCH);

+ 3 - 3
XMLData/ResourceForCpp/ResourceForCpp-EN.xml

@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <XMLData FileMark="1037" Switch="false" Version="1.1.1">
     <collection RegName="keyvaluepair">
          <collection RegName="ResGrp" grpKey="0" text="Common" description="">
@@ -677,8 +677,8 @@
 		<member itemKey="12540" itemName="" itemText="Circle"/>
 		<member itemKey="12541" itemName="" itemText="Rectangle"/>	
 
-        <member itemKey="12542" itemName="" itemText="space"/> 
-        <member itemKey="12543" itemName="" itemText="space"/> 
+        <member itemKey="12542" itemName="" itemText="ProfessionalMode"/>
+		<member itemKey="12543" itemName="" itemText="NormalMode"/>
         <member itemKey="12544" itemName="" itemText="space"/> 
         <member itemKey="12545" itemName="" itemText="space"/> 
         <member itemKey="12546" itemName="" itemText="space"/> 

+ 3 - 3
XMLData/ResourceForCpp/ResourceForCpp-ZH.xml

@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <XMLData FileMark="1037" Switch="false" Version="1.1.1">
     <collection RegName="keyvaluepair">
 	  <collection RegName="ResGrp" grpKey="0" text="常规参数" description="">
@@ -711,8 +711,8 @@
         <member itemKey="12471" itemName="" itemText="样品台重命名"/>
 		<member itemKey="12540" itemName="" itemText="圆形"/>
 		<member itemKey="12541" itemName="" itemText="方形"/>
-		<member itemKey="12542" itemName="" itemText=""/>
-		<member itemKey="12543" itemName="" itemText=""/>
+		<member itemKey="12542" itemName="" itemText="专家模式"/>
+		<member itemKey="12543" itemName="" itemText="普通模式"/>
 		<member itemKey="12544" itemName="" itemText="空"/>
 		<member itemKey="12545" itemName="" itemText="空"/>
 		<member itemKey="12546" itemName="" itemText="空"/>