You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.9 KiB
1.9 KiB
KEV 文档
标题栏齿轮按钮(面板开关)设计逻辑
- 图层面板、属性面板、统计面板和对应界面显示隐藏状态保持一致
两个抗锯齿按钮的关联
顶栏齿轮子菜单里的我们将它称之为"全局抗锯齿按钮"
工具栏里的我们称为了"图件抗锯齿按钮"
- 全局抗锯齿按钮状态保存在 DrawGlobalConfig.xml 配置文件中,配置文件存储类 是 DrawerGlobalConfig, 图件打开或新建时图件抗锯齿按钮会获取一下它的状态,之后 不再有其它关联
举例来说:
假如如果现在是开启搞抗齿状态
1、打开 k1.kev
这个图件自己的抗锯齿状态会显示成搞锯齿状态
2、在抗锯齿面板(顶栏锯齿里)关闭抗锯齿
k1.kev 图件的抗锯齿状态不会发生变化,仍然是抗锯齿状况
3、打开 k2.kev
k2.kev 图件没有抗锯齿效果,k1 图件依然是抗锯齿的
4、新建图件
新建的图件没有抗锯齿效果,k1 有抗锯齿效果,k2 没有抗锯齿效果
重要修改
- 2023.09.05
在调试代码的过程中,发现前面给 CItem 的 OnLButtonDown 加了 vk 参数, 而 CItem 的子类并没有加 override 关键字,这时候就导致子类出现了两个 同名但参数个数不同虚函数,调用方调用的时候是带 vk 参数的,这时候就没 有成功调到子类的 OnLButton 函数,导致出现 bug
经过排查发现不止这个函数有这样的情况,现在已经把子类的重写函数都加上了 override 关键字,以后如果基类的虚函数改了,子类没改,编译时可以报错, 能够及早发现问题
潜在风险:如果有的子类实现不是特别严谨,有可能出现就是要调父类对应函数 才能正常工作的情况,也就是子类依赖这种错误行为,这时候可能导致软件本身 行为反而不正常,需要在使用的过程中留心这种情况