小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

系統(tǒng)消息中wParam,lParam 含義都是固定的好像一般wParam傳個值lParam

 accesine 2005-07-31
這兩個Param有什么區(qū)別?它們都各自收到什么樣的消息???


具體要看所發(fā)送的消息,一些消息中這兩個都是沒有意義的阿


具體的可看MSDN。


不是收消息,是發(fā)消息時候帶的額外信息,不同的消息有著不同的含義


兩個消息的傳遞參數(shù)唄


我照著例子寫的一點程序
....
ON_MESSAGE(WM_TASKBARMINI, OnTaskBarMini)
....
LRESULT CMiniBarDlg::OnTaskBarMini(WPARAM wParam, LPARAM lParam )
{
UINTuMouseMsg = (UINT) lParam;
switch (uMouseMsg)
{
case WM_LBUTTONDOWN:
AfxMessageBox("TrayIcon");
break;
case WM_RBUTTONDOWN:
AfxMessageBox("TrayIcon R");
break;
default:
;
}
}
這是一個響應(yīng)系統(tǒng)托盤的鼠標(biāo)事件的小程序。
為什么 uMouseMsg 賦值為wParam就不行了??????
為什么一定要使用lParam????
這兩個參數(shù)是從哪里傳過來的????
就這些東西我實在搞不清~~~


系統(tǒng)消息中wParam,lParam 含義都是固定的
好像一般wParam傳個值
lParam 傳個指針
就是發(fā)送側(cè)需要同時帶給消息接受側(cè)的額外的數(shù)據(jù)


針對不同的消息,有一些自己的含義


有沒有搞的很清楚的朋友??講講~~~please


2個參數(shù)好辦事嘛


根據(jù)消息的不同提供不同的值


我舉個例子吧,也不知確切不確切,大家多包涵阿
   首先要說windows是消息驅(qū)動的系統(tǒng),系統(tǒng)為每一個程序(應(yīng)該說進程)建立一個消息隊列。
   舉我們選擇菜單的例子,當(dāng)選擇了一個菜單項的時候,Windows向菜單所屬的窗口發(fā)送WM_COMMAND消息;而用戶按下了一個加速鍵的時候,windows向TranslateAccelerate函數(shù)指定的目標(biāo)窗口發(fā)送WM_COMMAND消息。一般這兩者對應(yīng)的窗口都是主窗口,所以在主窗口中的窗口過程中集中處理WM_COMMAND消息,而不必考慮它究竟是菜單引發(fā)的還是加速鍵引發(fā)的。
  WM_COMMAND消息的兩個參數(shù)是這樣定義的:
  wParam的高位   =wNotifyCode       ;通知碼
  wParam的低位   =wID               ;命令I(lǐng)D
  lParam = hwdCtl                   ;發(fā)送WM_COMMAND 消息的子窗口句柄,即誰發(fā)的該消息
  除了菜單和加速鍵,WM_COMMAND 消息也可以由其他子窗口引發(fā),如主窗口中的按鈕或工具欄,還有你提到的系統(tǒng)托盤的鼠標(biāo)事件等等,lParam參數(shù)指定了引發(fā)消息的子窗口句柄,對于菜單和加速鍵引發(fā)的WM_COMMAND消息,lParam的值為0。wParam參數(shù)的低16位是命令I(lǐng)D,也就是資源腳本文件中菜單項的命令I(lǐng)D或加速鍵的命令I(lǐng)D,高16位是通知碼,菜單消息的通知碼是0,加速鍵消息的通知碼為1。
  這只是菜單和加速鍵的定義。其他的消息可能與此不同,具體查資料吧。
  

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多