0
我已經完成了我的控制檯用戶界面框架的渲染緩衝區和基本消息泵的工作,但現在我必須將事件傳播到屏幕上的所有窗口小部件(控件)。我將如何在UI框架中傳播鼠標和鍵盤事件?
顯然,我有兩個選擇:
- 與消息泵的所有控件的中央登記(我認爲這是不太好)
或
- 層次傳播通過「視覺樹」
你會怎麼做?
我已經完成了我的控制檯用戶界面框架的渲染緩衝區和基本消息泵的工作,但現在我必須將事件傳播到屏幕上的所有窗口小部件(控件)。我將如何在UI框架中傳播鼠標和鍵盤事件?
顯然,我有兩個選擇:
或
你會怎麼做?
如果不知道更多關於框架的信息,很難給出明確的答案,但我認爲註冊所有小部件和使用某種中介類的消息泵將是最佳選擇。如果你嘗試通過層次結構來傳播你的事件,它可能變得非常混亂,你的事件處理邏輯將會遍佈整個地方,造成不可維護的代碼。