日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 芯聞號 > 充電吧
[導讀]?1、掛接菜單事件 ??掛接命令事件和菜單選擇事件 統(tǒng)稱為 掛接菜單事件,這類消息都是通過WM_COMMAND發(fā)送。如:一個按鈕被單擊,一個菜單項被單擊。 2、掛接事件 ??任何窗口消息 都可以通過

?1、掛接菜單事件 ??掛接命令事件和菜單選擇事件 統(tǒng)稱為 掛接菜單事件,這類消息都是通過WM_COMMAND發(fā)送。如:一個按鈕被單擊,一個菜單項被單擊。 2、掛接事件 ??任何窗口消息 都可以通過 掛接事件() 來進行處理。 如 WM_SIZE 尺寸被改變事件,WM_PAINT 重畫事件 WM_CLOSE 關(guān)閉事件 等。 ? 3、掛接組件事件 ??一些組件,有自身的擴展事件,比如 選擇框的“選擇改變”等。在windows 早期,通知事件也是通過 WM_COMMAND 發(fā)送的。但后來 WM_COMMAND 已經(jīng)不能滿足需求。因此 也有部分通知事件是通過 WM_NOTIFY 消息發(fā)送的。這兩類事件 都通過 掛接通知事件來進行處理。 ? 4、滾動事件 ??就目前,這是滾動條和滑塊條特有的事件。您也可以通過 掛接事件() WM_HSCROLL WM_VSCROLL 進行處理。當然 掛接滾動事件或者掛接事件肯定不符合面向?qū)ο蟮脑O(shè)計思想,您也可以繼承一個類并覆蓋 滾動事件()方法進行處理。(圖一) 滾動事件方法原型 ? 5、關(guān)于事件的處理順序。 ??一個相同事件,您可以掛接多個處理子程序。調(diào)用順序是 后掛接的先被調(diào)用。如果一個事件要被忽略,不被先掛接的處理子程序處理,您可以使用 事件.跳過 () 來進行忽略。事件函數(shù)的返回值是邏輯型,返回真 表示這個事件會發(fā)給窗口過程處理,返回假 則表示這個消息不需要默認窗口過程處理了。 ? 6、關(guān)于消息過濾。 ?? ?任何一個屬于組件自身的消息,組件都有最高的優(yōu)先級來處理它。 這個處理方法在對象的 消息預處理() 里實現(xiàn)。如果您要自己優(yōu)先處理屬于組件自身的消息,那么最好的辦法就是在 消息預處理()里做。 當系統(tǒng)從消息隊列中獲取一個消息,它首先判斷屬于哪個組件或者窗口,然后調(diào)用 它的 消息預處理() 方法,如果這個方法返回假 則表明這個消息不需要繼續(xù)分發(fā)。如果返回真,它會調(diào)用事件組件的父窗口的消息預處理()方法,直到消息被處理。如果您需要過濾隊列消息,這里是優(yōu)先級最高的位置。當然有一些非隊列消息在這里是不能進行處理的。 比如 WM_PAINT。windows為了提高窗口繪圖效率。對于WM_PAINT等是不會通過消息隊列的,而是直接調(diào)用窗口過程。您可以繼承一個窗口,然后 覆蓋 消息過程() 來進行過濾。 ?(圖二)?消息預處理方法原型

?

?

(圖三)?消息過程方法原型

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉