我們通常說:「某一件事發生了」和「向什麼傳送某乙個訊息」。比如在桌面上單擊滑鼠時,某一件事發生了,windows首先知道這件事的發生,然後使用函式sendmessage向桌面傳送乙個訊息,證明有某件事發生了。這就是「事件驅動、訊息處理」的原理。
事件是乙個動作——使用者觸發的動作。
訊息是乙個資訊——傳遞給系統的資訊。
事件與訊息的概念在計算機中較易混淆,但本質不同:
事件由使用者(操作電腦的人)觸發且只能由使用者觸發,作業系統能夠感覺到由使用者觸發的事件,並將此事件轉換為乙個(特定的)訊息傳送到程式的訊息佇列中。
這裡強調的是:
可以說「使用者觸發了乙個事件」,而不能說「使用者觸發了乙個訊息」。
使用者只能觸發事件,而事件只能由使用者觸發。
乙個事件產生後,將被作業系統轉換為乙個訊息,所以乙個訊息可能是由乙個事件轉換而來(或者由作業系統產生)。
乙個訊息可能會產生另乙個訊息,但乙個訊息決不能產生乙個事件——時間只能由使用者觸發。
總結(事件:訊息的**)
事件:只能由使用者通過外設的輸入產生。
訊息:(產生訊息的**有三個)
(1) 由作業系統產生。
(2) 由使用者觸發的事件轉換而來。
(3) 由另乙個訊息產生。
vc 訊息與事件的區別
事件是乙個動作 使用者觸發的動作。訊息是乙個資訊 傳遞給系統的資訊。事件與訊息的概念在計算機中較易混淆,但本質不同 事件由使用者 操作電腦的人 觸發且只能由使用者觸發,作業系統能夠感覺到由使用者觸發的事件,並將此事件轉換為乙個 特定的 訊息傳送到程式的訊息佇列中。這裡強調的是 可以說 使用者觸發了乙...
事件和訊息的區別
事件是乙個動作 使用者觸發的動作。訊息是乙個資訊 傳遞給系統的資訊。事件就是 當.的時候 事件總是和乙個id有關 訊息就是 嗨!你該幹.了 vs2005以上的 訊息 標籤中就是vc6 windows messages handler中的內容 我們一般都是在 當.的時候 幹 0 或者 1 2 也可以 ...
訊息與事件 Message Event
這兩個的區別我實在是搞得不太清楚,google了一下,也不是太明白,先把各個地方的都貼點過來,個人感覺訊息攜帶有資料,可以從訊息的結構體中獲得一些資料,但是事件就沒有這個功能了 事件就是 當.的時候 訊息就是 嗨!你該幹.了 我們一般都是在 當.的時候 幹 0 或者 1 2 也可以 這件事情我不想理...