在xyBackPaint中,当移动鼠标时,内核从下到上分析所有视域内实体,选中最上层的实体。
简单明了,但未必实用。很简单的例子,就是一个控件,框体需要处理鼠标移动的消息,但之上的按钮未必需要反应。因为只选中最上层物体,所以当鼠标移动到控件子按钮上时,控件就收到了UNTOUCH消息,而异常中断了对鼠标移动的处理。
理想的方式是,首先检索所有的父实体。
命中父实体后,再在父实体内寻找子实体。
ShinyNova目前的处理方式是,检索所有具有OBJECT_FLAGS_SELECT属性的实体,那么子控件可以设置为否,但这样仍然有很多麻烦的地方,待改进。
本文探讨了xyBackPaint在处理鼠标移动事件时的问题:仅选中最顶层实体导致某些控件无法正常响应。提出了一种改进方案,即先检索所有父实体,再在其内部查找子实体,以确保更精细的事件处理。
1466

被折叠的 条评论
为什么被折叠?



