拖拽掉落和鼠标设计模式?

时间:2009-09-21 16:14:49

标签: design-patterns mouseevent mouseover drag-and-drop

是否有任何与拖拉相关的经过充分研究的设计模式?掉落和鼠标手势? 考虑包含具有特定布局的父子层次结构中的对象的画布。 可以使用鼠标将某些对象拖放到其他对象上。 此外,可以使用鼠标调整对象的大小和移动对象。

根据用户状态(拖动,选择),对象上的不同热点行为会有所不同。 对于拖放操作,一些元素是: 1)用户对源对象的可视反馈 2)拖动期间对用户的视觉反馈 3)丢弃区域检测 4)丢弃兼容性测试 5)放弃行动

标准API倾向于将这些组合成相当单一的代码。

此外,移动和调整大小等手势有一些共同点: 1)当鼠标处于调整大小/移动区域时对用户的视觉反馈 2)移动/调整大小操作期间的视觉反馈 3)完成/取消操作。

问题是,有没有办法实现这一点,简化代码,分离视觉和文档级别的职责,以及可能的大部分声明?

例如,确定鼠标下的点是否是放置目标,可能会使用某种形式的命中测试与责任链模式相结合。

我觉得必须有良好的设计模式,这会给这个本来就很麻烦的问题带来纪律和组织。

干杯,

1 个答案:

答案 0 :(得分:1)

要回答我自己的问题,本书第二章有一个非常相关的讨论:http://www.amazon.com/gp/product/0596516258

然而,这仍然不像人们所希望的那样具有说服力或考虑因素。