我是新來的MFC和Windows消息的概念。 Windows消息和事件之間有什麼區別或相似之處?說當一個用戶按下一個鍵或一個控件的關閉按鈕時,它會成爲一個消息還是事件?Windows消息vs事件
由於
我是新來的MFC和Windows消息的概念。 Windows消息和事件之間有什麼區別或相似之處?說當一個用戶按下一個鍵或一個控件的關閉按鈕時,它會成爲一個消息還是事件?Windows消息vs事件
由於
當用戶按下一個鍵時,或執行輸入的任何其它形式中,該系統將消息在消息隊列中。然後,你的應用程序必須在消息循環中取消這些消息,並處理它們。
許多UI框架將爲您處理這些消息並將它們轉換爲事件。請注意,您所談論的事件不是Windows定義的任何事件。事件的使用是指在您使用的任何編程語言/框架中定義的概念。 Windows events用於線程同步。
頂層消息循環可能看起來像這樣:
MSG msg;
while(GetMessage(&msg, NULL, 0, 0) > 0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
的呼叫DispatchMessage
結果的窗口過程中被調用。 GUI框架通常實現該窗口過程並將消息轉換爲事件。
因此,內容提要是:
winapi在C編程語言中指定。 C沒有任何事件的概念。所以winapi使用消息來實現類似的東西。然後經常被類庫轉化爲事件。使用其消息映射宏時,MFC中的方法調用。避免在沒有先閱讀關於它的書的情況下嘗試使用MFC,如果沒有一本書,你就不會走得太遠。 –
「事件」一詞在Windows中嚴重超載。請更具體地指出您所指的是什麼類型的活動。沒有上下文,人們通常意味着由「CreateEvent」創建的「內核事件」,但也許你指的是別的東西。 –
.Net(event) – ali