CWnd::PreTranslateMessage(), 為虛擬函數,所有CWnd的衍生類別均可修改之,Windows 在執行Dispatch Message前,會呼叫該函數。假設衍生類別需要預先intercept (攔截)特定的訊息時可修改其內容。
Window 訊息流向:子視窗 --> 父視窗
例如:
控制項(Edit)在Dialog B中,而Dialog A為Dialog B的父視窗,假設視窗的Focus在控制項Edit上,使用者按下鍵盤後是由誰先處理Message?
是由控制項(Edit)先接收到該Message。
假設PreTranslateMessage被改寫了,該函數的回傳值所代表的意義
False: 告知父視窗Message需要再處理
True: 告知父視窗Message不需要再處理
沒有留言:
張貼留言