一. 前言
界面控件非常多的时,需要一种通知机制。mpc-hc中的EventDispatcher实现了这种通知机制。
二.类关系图
在mpc-hc中,定义宏 GetEventd()获取全局唯一的EventRouter对象,控件拥有一个EventClient对象。
1)控件初始化时,使用EventRouter::Connect接口,注册该控件可以触发(fires)的事件,控件感兴趣(recieves)的事件,以及处理感兴趣事件的回调函数
2)UI层接口调用EventClient::FireEvent触发事件,委托EventRounterCore::FireEvent处理:遍历所有控件,调用对该事件该兴趣的处理函数