求教 WM訊息中的擴充套件訊息

2024-12-26 03:55:20 字數 3070 閱讀 1090

1樓:網友

自己定義的,沒什麼好查的。

用wm_user來定義,引數也是自己定義的,只不過是他寫成了16進位的方式而已。

api訊息機制中的wm_command

2樓:未來需努力點綴

lz 你好。

在wm_command訊息中 , lparam引數沒有高地位的值之分 . 如果這個訊息是由乙個視窗傳送的 , 那麼這個引數lparam就表示這個視窗的視窗控制代碼hwnd,這個主要是為了區分訊息是從哪個按鈕(或其它視窗控制項)傳送來的。

我給你舉個例子,你就清晰了:(我上傳完整的源**)執行結果:

按下按鈕1,就顯示"按鈕1"

按下按鈕2 , 就顯示"按鈕2"

其實對於以wm開頭的windows訊息的應用你都可以查詢msdn中相關的說明,應該是能看懂的。

希望能幫助你哈。

3樓:任明星

loword和hiword的值是不一樣的,wparam和lparam可以包含兩個值,乙個是lowrod低值,乙個是hiword高值。

這兩個值可以由使用者定義。

組合lparam

lparam makelparam(

word wlow,word whigh

// 組合wparam

lparam makewparam(

word wlow,word whigh);

請教wm_paint訊息什麼時候被觸發?

4樓:網友

改變視窗大小,或者視窗被遮擋(去除遮擋)時,視窗自動產生wm_paint訊息重繪有變化的區域(無效區)。

當你需要人工指定視窗重繪時,依此原理,可以指定視窗客戶區的某些區域無效,讓其重繪。

invalidate指定整個客戶區無效;

invalidaterect和invalidatergn分別指定某個矩形或某區域無效。

這三個函式向視窗傳送了wm_paint訊息進入訊息佇列。當佇列較長時(前面還有很多訊息未處理),就不能即時重新整理了。

你可以在上面三個函式後加一句updatewindow(),這樣就可以立即重新整理視窗了。

類似功能的函式還有redrawwindow等等。請參閱msdn

5樓:無花寒

系統在特定時候,必須視窗改變尺寸。

或者人工設定,比如invalidate函式。

都會有wm_paint觸發。

6樓:渾曜邇

無論何時當你改變視窗大小,或者當有別的視窗遮住你的視窗的時候都要進行視窗的重繪。視窗的重繪是很頻繁的。

求nm_開頭的訊息大全,他和wm_開頭的訊息有什麼區別

7樓:

wm_x是標準的訊息定義,或者自定義訊息。

nm_x是通知訊息,一般用來子控制項通知父視窗的訊息。這個是為了方便mfc程式的開發。

比如乙個對話方塊視窗,內有乙個列表框控制項。如果在列表框裡面點選滑鼠,那麼系統首先把訊息送給執行緒,茄巨集執行緒預處理後再發給此列表框乙個wm_lbuttondown訊息,此列表框收到後,可能做處理可能不做處理,然後再生成乙個 nm_x通知訊息 傳送給其父視窗。這樣做的目的,是方便使用者開發程式時,可以將列表框的點選時間粗配訊息處理程式放到 主視窗的cpp檔案裡面。

如果沒有此 nm_x訊息,那麼對此訊息的響應必須放到列表控制項的wndproc裡面處理,那樣很麻煩,必須再生成乙個cpp檔案。

要想看所有nm訊息,可以看spy++裡面有所有控制項的通知訊息id,不過,完全沒必要要這個大全,使用的時候看看msdn,上面有很詳細的顫凳冊說明。

8樓:網友

當滲蔽然有區別。

wm是給wndproc處理的,提交由主視窗過高磨程。

nm是控制項私自處理的。

有叢念州點像,有批貨,你把東西上報公司,公司來處理。

nm就像這批貨,你告訴你公司一聲,這批貨你處理,具體怎麼處理,公司不管,你只要處理完告訴一聲你處理完就結了。

在wm_char訊息中 wparam的值是怎麼得來的。?

9樓:網友

計算過程。。。很簡單,首先你要知道vk_control的值#define vk_control 0x11vk_a thru vk_z are the same as ascii 'a' thru 'z' (0x41 - 0x5a)

這個語句是判斷是否為ctrl+a (a的鍵值65)專其實這是wm_char本身的問題,用它來屬接收組合鍵是不合理的,因為得到的結果ctrl+a和數字1是一樣的。

一般建議用wm_syskeydown來判斷組合鍵。

window訊息中的on_wm_erasebkgnd,wm_paint,on_wm_ctlcolor_reflect怎麼用啊?

10樓:

wm_erasebkgnd 繪製背景。

wm_paint 繪製前景,就是一般的繪圖。

wm_ctlcolor 確切的說對於edit 其實是 wm_ctlcoloredit ,反射訊息,表示子控制項繪製之前通知父視窗「我要繪製了,告訴我要繪製什麼顏色,否則我就用預設的」。

沒分別,都要呼叫 這3個訊息。因為這3個訊息是關聯的預設的 movewindow,redrawwindow 都會觸發 wm_erasebkgnd,wm_paint,訊息,而wm_paint又觸發了wm_ctlcolor訊息。

補:窗圓輪譽口移動直接觸發訊息是 wm_move ,是在movewindow 或 setwindowpos 裡面決定是否觸發wm_paint/wm_ereasebkgnd,如果視窗未被別的視窗覆蓋,且size沒變化,可以不重繪,而是由顯示卡內部移動當前視窗的顯示資料,同時向下層視窗傳送重繪訊息。 如果超出螢幕再移回部分,那就有部分被遮蓋需要重繪了,當桐禪然觸發重繪訊息。

wm_ctlcolor 訊息不用去管它,這個很多控制項是在自繪模式下才支援的,控制項也是在可狀態下才響應的。規律我也摸不準,不過我從來不用它。屬於雞肋性質的訊息。

如橘段果要調整背景顏色等資訊,可以直接使用控制項函式來設定,再不行就自繪完成了,工作量也不是太大。

拒絕不喜歡的男的,現在總是發訊息給我,訊息中充滿了諷刺,我該怎麼辦

順其自然,他不過是你生命中的一個過客,他不可能一輩子給你發資訊,忍幾天就好。回以安慰 道歉的資訊後,直接設定成黑名單。野狗你越理他他越得瑟,不要理他,在騷擾你就告他 這人有什麼資本諷刺,這種人不要理,刪掉。置之不理,慶幸自己有獨到的慧眼 無視他。如果你真的不喜歡他。早就把他拉黑了 不喜歡的人,說的話...

http響應訊息中狀態碼中12345分

1,xx狀態 碼錶訊息狀態碼 此類狀態 表示請求已被接受並需要處理。這種型別的響應是一個臨時響應,它只包含狀態行和一些可選的響應頭資訊,並以空行結束。由於http 1.0協議中未定義1xx狀態 因此伺服器禁止向此類客戶端傳送1xx響應,除非在某些測試條件下。2,2xx狀態碼錶成功 此類狀態 表示伺服...

生命的訊息閱讀答案,生命的訊息 蓮霧樹 短文 答案

1按照它自己的生存原則生活下去 民間流傳不見於古典醫學的中藥方 2第一段的段意是我用了鄰居教我的方法,結果在第二年樹上結滿了果子第二段的段意是寫我去請教學植物的朋友,他告訴我後我恍然大悟4因為我不應該去傷害它,逼迫它開花結果 5總結全文,點明中心 6植物也有生命,請手下留情 1.理解下列詞語 1 順...