国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
vc6.0添加自定義用戶消息的基本過程

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=16276

在學(xué)習(xí)<vc6.0技術(shù)內(nèi)幕>過程中遇到要添加用戶自定義消息的過程.我覺得書上寫的比較散,于是就自己總結(jié)了這個(gè)基本過程,以為日后備查.

首先弄清楚兩點(diǎn):(1)誰要發(fā)送這個(gè)消息(2)誰要接受這個(gè)消息。

用一個(gè)簡(jiǎn)單的例子來說明。對(duì)象A向B(也可以就是A到A)發(fā)送消息。

1   發(fā)送消息

首先在A的頭文件中定義這個(gè)消息:

#define    WM_USERMESSAGE    WM_USER+30

所有自定義消息都是以WM_USER消息為基礎(chǔ)加上一個(gè)任意的自然數(shù)來表示的。A是向外發(fā)送消息的對(duì)象,因此在A的某個(gè)方法(函數(shù))里就會(huì)調(diào)用用來發(fā)消息的函數(shù)B::SendMessage()/B::PostMessage(),因?yàn)槭荁接受消息,因此是如上的形式。

2   接受消息

對(duì)象接受一個(gè)消息,應(yīng)該有三部分:在頭文件中有該消息的處理函數(shù)的原型;在實(shí)現(xiàn)文件中有接受消息映射的宏; 以及該消息的處理函數(shù)的具體實(shí)現(xiàn)。

2.1   頭文件中加上自定義消息的處理函數(shù)原型

在DECLARE_MESSAGE_MAP()語句之前,一對(duì)AFX_MSG之間加上如下形式的函數(shù)原型:

afx_msg   LRESULT OnProcName( WPARAM wParam, LPARAM lParam );

對(duì)Win32來說,wParam, lParam是傳遞消息最常用的手段。

2.2   在實(shí)現(xiàn)文件中加上接受消息映射的宏

在cpp文件里,BEGIN_MESSAGE_MAP語句之后,在一對(duì)AFX_MSG_MAP之間,增加 如下形式的代碼:

ON_MESSAGE(WM_USERMESSAGE, OnProcName)

上面是不用分號(hào)結(jié)尾的。

2.3   在實(shí)現(xiàn)文件中給出消息處理函數(shù)的具體實(shí)現(xiàn)。

 

 

 

開始用到自定義消息,找了半個(gè)小時(shí),總結(jié)如下:

1、首先在用戶類中聲明自定義消息WM_SHOWTASK(當(dāng)然可以為其他):

#define WM_SHOWTASK WM_USER + 101

2、然后在類成員聲明中聲明消息處理函數(shù)

afx_msg void MyMessageProc();

3、在類實(shí)現(xiàn)文件中添加消息映射宏

ON_MESSAGE(WM_MyMessage,MyMessageProc);

(如果用戶需要一個(gè)整個(gè)系統(tǒng)唯一的消息,可以調(diào)用 SDK 函數(shù) RegisterWindowMessage 并使用 ON_REGISTER_MESSAGE 宏指令取代 ON_MESSAGE 宏指令,其余步驟同上。)

4、在類實(shí)現(xiàn)文件中添加消息處理函數(shù)

LRESULT CMyDlg::MyMessageProc()

 

首先定義消息:例如 define WM_MYMESSAGE (WM_USER+100)

在.H文件中,加入消息響應(yīng)函數(shù),如:

        LONG OnMyMessage(WPARAM w,LPARAM l);

    該函數(shù)有規(guī)定的格式:

        LONG Function_Name(WPARAM w,LPARAM l);

加入消息響應(yīng)宏,在響應(yīng)該消息的類中,在消息響應(yīng)塊中,

    成為如下樣式:

    BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)

        //{{AFX_MSG_MAP(CAboutDlg)

        ON_MESSAGE(WM_MYMESSAGE,OnMyMessage)

        //}}AFX_MSG_MAP

    END_MESSAGE_MAP()

在.CPP文件中,編輯消息響應(yīng)函數(shù),如下:

    LONG CMyClass::OnMyMessage(WPARAM w,LPARAM l)

    {}

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
形形色色的自定義消息(上)
VC++6.0中如何發(fā)送自定義消息
使用MFC自定義消息
vs2010,VC6.0添加自定義消息步驟
VC中添加自定義用戶消息的基本過程
MFC中自定義的消息不能響應(yīng)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服