总结:
对Tab进行操作,无非涉及到的数据以及显示的地方就以下几处:
数据:
1. Tab_Vector
2. Spc_Vector
3. Spc_Tab_ComboBox
显示:
1. Tab_ListCtrl
2. Spc_ListCtrl
3. Spc_ListCtrl_Tab_ComboBox
4. Cfg_ListCtrl
详细过程:
1. 添加新Tab:
1.1 方法:在Tab_ListCtrl的最后一行三列必须为空白,且均可编辑,编辑完后,点击“Add”按钮,校验符合即可实现添加。
1.2 校验:各个编辑框的值既不能为空,也不能超过以限定字符;同时必须,不能是已经有的Tabname
1.3 注: 每次只能编辑一行Tab项,先选中,在添加或修改或删除。
1.4 修改地方:
1> 新Tab加入已有的Tab_vector中;
2> Spc的Tab_ComboBox中添加新Tab项,SpcList中所有项为空(因为此时CfgList中无新Tab的对应项),包括tab属性项也为NULL。
2. 修改Tab:
2.2 不是最后一行Tab,均可修改;
2.3 现有方案:不能修改已有Tab项的name,只能修改中英文的disp;现有方法无需修改其他地方。
2.4 方法:修改中英文的disp内容,点击"Add"按钮,如上步中校验合格中即可添加(无需校验Tabname)。
2.5 新增功能:可修改Tab项的name,判断Tabname是否修改,若修改(必须记录之前的Tabname,作对比),则还需修改以下地方:
1> Tab_vector中用新Tabname替换旧Tabname;
2>修改Spc_Vector每个Tab为旧Tabname的Spc的Tab为新Tabname;
3> Spc的Tab_ComboBox中删除旧的Tab项,在此位置插入新Tabname;
4>点击此新Tabname的每一项时,相应Spc的Tab属性项为新Tabname;
5>显示变化:当前选中的Cfg项对应的Spc项的Tab属性对应改变为新Tabname;
3. 删除Tab:
3.1 不是最后一行Tab,均可删除;
3.2 提醒确定删除;
3.3 修改地方:
1> Tab_vector中删除该Tab项结构体; Tab_ListCtrl中删除此Tab的一行;
2> Spc_Vector 中删除有关该Tab项的所有对应Spc项;
3> Cfg_ListCtrl中关于此Tab的所有Cfg项均设置为红色;
4> Spc的Tab_ComboBox中删除此Tab项;
5> 显示变化:Cfg_ListCtrl中选中所有,Tab_ListCtrl无选中项,Spc_ListCtrl显示第一行Cfg项的内容;