[發明專利]一種軟件界面的消息路由方法有效
| 申請號: | 200710074748.6 | 申請日: | 2007-06-07 |
| 公開(公告)號: | CN101192175A | 公開(公告)日: | 2008-06-04 |
| 發明(設計)人: | 夏江波;陳頡 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 深圳中一專利商標事務所 | 代理人: | 張全文 |
| 地址: | 518044廣東省深圳市*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 軟件 界面 消息 路由 方法 | ||
技術領域
本發明屬于計算機應用領域,尤其涉及一種軟件界面的消息路由方法。
背景技術
隨著計算機技術的發展,用戶對軟件界面的要求越來越高,不僅要求界面友好,還需要界面美觀大方、交互性好等,這就對軟件界面的開發提出了更高的要求。為了迎合市場的需求,軟件生產商也對軟件產品進行了界面美化,在軟件生產過程中,界面開發占總工作量的比例越來越大,項目的開發成本也越來越高,但是代碼的重用性卻沒有得到改善,往往需要專業的界面開發工程師負責開發界面。
在現有的軟件界面生成中,控件的消息處理非常復雜,每次的消息路由都是特定化的,只能針對當前的控件設計,前面控件接收到的消息不能被后續要響應該消息的控件所調用,造成軟件界面開發時的重復工作量很大,增加了代碼出錯的幾率,延長了項目開發,代碼的可維護性也比較差。
發明內容
本發明實施例的目的在于提供一種軟件界面的消息路由方法,旨在解決現有技術中前面控件接收到的消息不能被后續要響應該消息的的控件所調用,造成軟件界面開發時的重復工作量大,代碼出錯的幾率高,可維護性較差的問題。
本發明實施例是這樣實現的,一種軟件界面的消息路由方法,所述方法包括以下步驟:
窗口事件類將收到的系統窗口消息分配給事件派發器類;
事件派發器類將所述系統窗口消息派發給與該系統窗口綁定的虛擬窗口;
所述虛擬窗口將接收到的窗口消息分配給該虛擬窗口內部的事件派發器類;
所述虛擬窗口內部的事件派發器類將所述系統窗口消息派發給該虛擬窗口內部的事件處理器類;
所述虛擬窗口內部的事件處理器類調用相應的虛擬窗口響應所述窗口消息。
本發明實施例通過將接收到的系統窗口消息派發給相應的虛擬窗口,該虛擬窗口又將系統窗口派發的消息發送到該虛擬窗口內部的事件處理器類,該事件處理器類調用最終的虛擬窗口來響應該窗口消息,使得前面控件接收到的消息能夠被后續要響應該消息的的控件所調用,從而使得軟件界面的實現更加靈活,縮短了軟件界面創建的時間,提高了代碼的可維護性和運行效率。
附圖說明
圖1是本發明實施例提供的軟件界面消息路由方法的實現流程圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
本發明實施例通過將接收到的系統窗口消息派發給相應的虛擬窗口,該虛擬窗口又將接收到的系統窗口派發的消息發送到該虛擬窗口內部的事件處理器類,該事件處理器類調用最終的虛擬窗口來響應該系統窗口消息。
在本發明實施例中,將系統窗口和虛擬窗口的消息進行統一管理,為了便于管理,將系統窗口并入虛擬窗口的管理,一個系統窗口綁定一個虛擬窗口對象,當有消息來時,都放到外層窗口及其對應的虛擬窗口處理,不涉及虛擬窗口內部的處理,例如編輯(edit)等。
本發明實施例通過窗口類接管窗口的所有消息,使用事件分發器類派發消息到對應的虛擬窗口,每個虛擬窗口內部再次使用事件派發器將消息派發給事件處理器類,事件處理器類調用最終的虛擬窗口響應消息。
圖1示出了本發明實施例提供的消息路由的處理流程,特別的,如果該虛擬窗口(Frame)是一個皮膚控件類(CtrlSkinner),則先調用皮膚控件類的消息處理函數(CtrlSkinnerWndProc)處理,使得皮膚控件類的特性得到實現。最終消息還要通知到腳本,對應腳本中的執行函數,例如<PreInit>、<OnClick>、<OnShortCut>、<OnDefaultAction>等函數。
1.窗口事件類(WinEvent)接收系統窗口(例如Windows)消息,將這些消息分配給事件派發器類(EventDispatcher)。
2.事件派發器類接收到窗口事件類派發的消息后,將消息發送到對應的虛擬窗口。
3.虛擬窗口將接收到的系統窗口消息分配給該虛擬窗口內部的事件派發器類。
4.該虛擬窗口內部的事件派發器類將該系統窗口消息派發給該虛擬窗口內部的事件處理器類(EventHandler)。
5.虛擬窗口內部的事件處理器類調用相應的虛擬窗口響應該窗口消息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710074748.6/2.html,轉載請聲明來源鉆瓜專利網。





