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 文档
|
|
|
|
|
|
|
|
|
|
|
|
## 标题栏齿轮按钮(面板开关)设计逻辑
|
|
|
|
|
|
|
|
|
|
|
|
- 图层面板、属性面板、统计面板和对应界面显示隐藏状态保持一致
|
|
|
|
|
|
|
|
|
|
|
|
## 两个抗锯齿按钮的关联
|
|
|
|
|
|
|
|
|
|
|
|
顶栏齿轮子菜单里的我们将它称之为"全局抗锯齿按钮"
|
|
|
|
|
|
|
|
|
|
|
|
工具栏里的我们称为了"图件抗锯齿按钮"
|
|
|
|
|
|
|
|
|
|
|
|
- 全局抗锯齿按钮状态保存在 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 关键字,以后如果基类的虚函数改了,子类没改,编译时可以报错,
|
|
|
|
|
|
能够及早发现问题
|
|
|
|
|
|
|
|
|
|
|
|
潜在风险:如果有的子类实现不是特别严谨,有可能出现就是要调父类对应函数
|
|
|
|
|
|
才能正常工作的情况,也就是子类依赖这种错误行为,这时候可能导致软件本身
|
|
|
|
|
|
行为反而不正常,需要在使用的过程中留心这种情况
|