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.
kev/readme.md

53 lines
1.9 KiB
Markdown

1 month ago
# 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 关键字,以后如果基类的虚函数改了,子类没改,编译时可以报错,
能够及早发现问题
潜在风险:如果有的子类实现不是特别严谨,有可能出现就是要调父类对应函数
才能正常工作的情况,也就是子类依赖这种错误行为,这时候可能导致软件本身
行为反而不正常,需要在使用的过程中留心这种情况