Language agnostic 如何在UI框架中传播鼠标和键盘事件?
我已经完成了控制台用户界面框架的渲染缓冲区和基本消息泵的工作,但现在我必须将事件传播到屏幕上的所有小部件(控件) 显然我有两个选择:Language agnostic 如何在UI框架中传播鼠标和键盘事件?,language-agnostic,framework-design,Language Agnostic,Framework Design,我已经完成了控制台用户界面框架的渲染缓冲区和基本消息泵的工作,但现在我必须将事件传播到屏幕上的所有小部件(控件) 显然我有两个选择: 通过消息泵对所有控件进行集中注册(我认为这不太好) 或 通过“视觉树”的分层传播 你会怎么做?在不了解更多框架的情况下,很难给出一个明确的答案,但我认为用某种中介类注册所有小部件和消息泵是最好的选择。如果尝试通过层次结构传播事件,可能会变得非常混乱,并且事件处理逻辑会分散到所有地方,导致代码无法维护
- 通过消息泵对所有控件进行集中注册(我认为这不太好)
- 通过“视觉树”的分层传播
你会怎么做?在不了解更多框架的情况下,很难给出一个明确的答案,但我认为用某种中介类注册所有小部件和消息泵是最好的选择。如果尝试通过层次结构传播事件,可能会变得非常混乱,并且事件处理逻辑会分散到所有地方,导致代码无法维护