最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vc中使用SendMessage自定義消息函數(shù)

 更新時間:2015年06月29日 12:33:47   投稿:hebedich  
這篇文章主要介紹了vc中使用SendMessage自定義消息函數(shù)的相關(guān)資料,需要的朋友可以參考下

SendMessage的基本結(jié)構(gòu)如下:

SendMessage(
  HWND hWnd, //消息傳遞的目標(biāo)窗口或線程的句柄。
  UINT Msg, //消息類別(這里可以是一些系統(tǒng)消息,也可以是自己定義,下文具體介紹,)
  WPARAM wParam, //參數(shù)1 (WPARAM 其實是與UINT是同種類型的,
 //在vc編譯器中右鍵有個“轉(zhuǎn)到WPARAM的定義”的選項可以查看。 
  LPARAM lParam); //參數(shù)2

其中一些參數(shù)的由來如下:
//typedef unsigned int UINT;
//typedef UINT WPARAM;
//typedef LONG LPARAM;
//typedef LONG LRESULT;
例如可以用以下語句:

::SendMessage(this->m_hWnd, WM_MY_DOSOME, (WPARAM) 0, (LPARAM) 0);

這里我發(fā)送的消息是本窗體接收的,所以句柄用:this->m_hWnd
這里的消息類別WM_MY_DOSOME就是我自定義的,
在接收消息的窗體或線程所在的頭文件里:

#define WM_MY_DOSOME WM_USER+1 // do something

當(dāng)然你還可以定義更多如:

#define WM_DOOTHER WM_USER+2 // do other

表示要做一些事情。
到這里,可能大家還是對消息類別有點模糊,不要擔(dān)心,我下面很快就講到。
我們發(fā)了一個消息出去,那么接收方要能識別這個消息是干什么,就是通過消息類別來區(qū)分,
并且開始去做這個消息對應(yīng)要處理的事情。如下:

一:編寫一個事情:

我們在接收窗體里定義一個這樣的事情(過程),

afx_msg LRESULT DoSomeThing(WPARAM iParam1,LPARAM iParam2)
{
 MessageBox("收到消息了,我要開始做一些事情了。","收到",MB_OK);
 //可以運用iParam1,iParam2 來做一些事情。
 return 0;
}

這個事情有3點大家要注意,非常重要:
1:使用了afx_msg,并且要將afx_msg LRESULT DoSomeThing(WPARAM iParam1,LPARAM iParam2)
改寫到頭文件的
//{{AFX_MSG
//。。。改寫到這里,顏色會變成灰的。這一點非常重要。
//}}AFX_MSG
2:參數(shù)有2個,WPARAM iParam1,LPARAM iParam2,哪怕沒有東西傳進(jìn)來也要寫,不然會吃苦頭的,vc里不會提醒你少寫了一個,
但一些莫名奇妙的事情會發(fā)生。
3:類型用 LRESULT,完了要return 0;

二:讓接收方知道什么時候做這個事情:

我們在

//{{AFX_MSG_MAP
//。。。這里寫上
ON_MESSAGE(WM_MY_DOSOME,DoSomeThing)
//如果還有其他消息就再寫一個
ON_MESSAGE(WM_DOOTHER,DoOther)
//}}AFX_MSG_MAP

到這里,當(dāng)你用SendMessage,發(fā)了一個WM_MY_DOSOME類型的消息過來的時候,
接收方就會去做DoSomeThing(WPARAM iParam1,LPARAM iParam2)
發(fā)了一個WM_DOOTHER類型的消息過來的時候,
接收方就會去做DoOther(WPARAM iParam1,LPARAM iParam2)當(dāng)然,這里DoOther我還沒有定義,
這樣就是一個完整的消息發(fā)送與接受過程,我沒有詳細(xì)講參數(shù),iParam1,因為還沒有用到很復(fù)雜的情況,
大家要是有心得我們可以一起提高。

在頭文件里

復(fù)制代碼 代碼如下:

#define WM_MYMSG  WM_USER+5 //自定義一個消息
afx_msg void OnMyMessage(WPARAM wParam, LPARAM lParam); //自定義消息的處理函數(shù)聲明

在.cpp文件里
ON_MESSAGE(WM_MYMSG, OnMyMessage)
//利用ON_MESSAGE()宏在自定義消息與其處理函數(shù)間建立映射關(guān)系

void CModelessDlg::OnMyMessage(WPARAM wParam, LPARAM lParam)
//從lParam中取出CString對象的指針,并將字符串內(nèi)容在IDC_MSGEDIT中顯示出來

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

相關(guān)文章

  • c#中實現(xiàn)退出程序后自動重新啟動程序的方法

    c#中實現(xiàn)退出程序后自動重新啟動程序的方法

    下面小編就為大家?guī)硪黄猚#中實現(xiàn)退出程序后自動重新啟動程序的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • C語言近萬字為你講透棧和隊列

    C語言近萬字為你講透棧和隊列

    對于線性表,我們可能要執(zhí)行下列操作:訪問表的第k個結(jié)點、在k這個結(jié)點之前或者之后插入一個新結(jié)點,抑或是刪除第k個結(jié)點等等操作,其中我們會遇到值對第一個或者最后一個結(jié)點插入、刪除、和訪問值的線性表,我們給它們以特殊的名稱:棧、隊列、雙端隊列
    2022-05-05
  • C語言實現(xiàn)搶紅包算法

    C語言實現(xiàn)搶紅包算法

    這篇文章主要為大家詳細(xì)介紹了C語言搶紅包算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • C語言多功能動態(tài)通訊錄實現(xiàn)示例

    C語言多功能動態(tài)通訊錄實現(xiàn)示例

    這篇文章主要為大家介紹了C語言多功能動態(tài)通訊錄實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • c語言常見圖片格式判斷實例

    c語言常見圖片格式判斷實例

    這篇文章介紹了c語言常見圖片格式判斷實例,有需要的朋友可以參考一下
    2013-09-09
  • 深入解析C++中的mutable關(guān)鍵字

    深入解析C++中的mutable關(guān)鍵字

    在C++中,mutable也是為了突破const的限制而設(shè)置的。被mutable修飾的變量,將永遠(yuǎn)處于可變的狀態(tài),即使在一個const函數(shù)中
    2013-10-10
  • 基于Opencv實現(xiàn)顏色識別

    基于Opencv實現(xiàn)顏色識別

    這篇文章主要為大家詳細(xì)介紹了基于Opencv實現(xiàn)顏色識別,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • C\C++ 獲取當(dāng)前路徑實例詳解

    C\C++ 獲取當(dāng)前路徑實例詳解

    這篇文章主要介紹了C\C++ 獲取當(dāng)前路徑實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • 淺析C++11中的右值引用、轉(zhuǎn)移語義和完美轉(zhuǎn)發(fā)

    淺析C++11中的右值引用、轉(zhuǎn)移語義和完美轉(zhuǎn)發(fā)

    對于c++11來說移動語義是一個重要的概念,一直以來我對這個概念都似懂非懂。最近翻翻資料感覺突然開竅,因此順便記錄下C++11中的右值引用、轉(zhuǎn)移語義和完美轉(zhuǎn)發(fā),方便大家查閱參考。
    2016-08-08
  • 使用C語言實現(xiàn)字符串逆序操作案例

    使用C語言實現(xiàn)字符串逆序操作案例

    這篇文章主要介紹了使用C語言實現(xiàn)字符串逆序操作案例,本文包含使用C語言的兩種方法去實現(xiàn),遞歸和非遞歸,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07

最新評論

锦屏县| 乐业县| 册亨县| 文成县| 鹤峰县| 丁青县| 怀来县| 洛阳市| 雅江县| 洞口县| 平阴县| 莆田市| 平泉县| 汉中市| 休宁县| 舒兰市| 敦化市| 小金县| 丰镇市| 洞头县| 建始县| 滨海县| 黑水县| 攀枝花市| 平陆县| 宝鸡市| 鄱阳县| 景谷| 沾化县| 堆龙德庆县| 嘉鱼县| 营口市| 洛阳市| 虞城县| 凤翔县| 晋州市| 铜山县| 梨树县| 上蔡县| 奉新县| 察雅县|