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

打開APP
userphoto
未登錄

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

開通VIP
上位機(jī)開發(fā)-[轉(zhuǎn)]vc自定義消息的發(fā)送與接收的方法實(shí)現(xiàn) - 單片機(jī)學(xué)習(xí)網(wǎng)
這篇文章是學(xué)習(xí)VC遇到麻煩時網(wǎng)上搜索到的 覺得有學(xué)習(xí)價值就轉(zhuǎn)載過來了
以下為原文:
消息傳遞的方法一:使用ON_MESSAGE
使用ON_MESSAGE響應(yīng)消息,必須配合定義消息#define WM_MY_MESSAGE (WM_USER+100)
對于發(fā)送消息者-MyMessageDlg,
在其MyMessageDlg.h中,定義#define WM_MY_MESSAGE (WM_USER+100)
在其MyMessageDlg.cpp中要先添加:#i nclude "MainFrm.h"
因?yàn)槭褂昧薈MainFrame*定義對象。
并且要有測試消息的函數(shù):
void MyMessageDlg::OnButtonMsg()
{
    // TODO: Add your control notification handler code here
    CMainFrame* pMF=(CMainFrame*)AfxGetApp()->m_pMainWnd;  //先通過獲取當(dāng)前框架指針
    CView * active = pMF->GetActiveView();//才能獲取當(dāng)前視類指針
    if(active != NULL)  //獲取了當(dāng)前視類指針才能發(fā)送消息
    active->PostMessage(WM_MY_MESSAGE,0,0);  //使用PostMessage發(fā)送消息
}
對于消息的接受者-MessageTestView,
在其MessageTestView.h中,也要定義#define WM_MY_MESSAGE (WM_USER+100)
并定義消息映射函數(shù)-OnMyMessage()
protected:
//{{AFX_MSG(CMessageTestView)
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
在其MessageTestView.cpp中,
先要聲明響應(yīng)消息:
BEGIN_MESSAGE_MAP(CMessageTestView, CEditView)
//{{AFX_MSG_MAP(CMessageTestView)
ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
//}}AFX_MSG_MAP
再添加消息響應(yīng)的函數(shù)實(shí)現(xiàn):
LRESULT CMessageTestView::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
MessageBox("OnMyMessage!");
return 0;
}

消息傳遞的方法二:使用ON_REGISTERED_MESSAGE
使用ON_REGISTERED_MESSAGE注冊消息,必須配合
static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");
對于消息的發(fā)送者-MyMessageDlg,
在其MyMessageDlg.h中,只要
定義static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");
就可以了。
在其MyMessageDlg.cpp中要先添加:#i nclude "MainFrm.h"
因?yàn)槭褂昧薈MainFrame*定義對象。
并且要有測試消息的函數(shù):
void MyMessageDlg::OnButtonMsg()
{
    // TODO: Add your control notification handler code here
    CMainFrame* pMF=(CMainFrame*)AfxGetApp()->m_pMainWnd;  //先通過獲取當(dāng)前框架指針
    CView * active = pMF->GetActiveView();//才能獲取當(dāng)前視類指針
    if(active != NULL)  //獲取了當(dāng)前視類指針才能發(fā)送消息
    active->PostMessage(WM_MY_MESSAGE,0,0);  //使用PostMessage發(fā)送消息
}
對于消息的接收者-MessageTestView,
在其MessageTestView.h中不要定義
static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");
應(yīng)該把這個定義放到MessageTestView.cpp中,要不會出現(xiàn): redefinition
在其MessageTestView.h中只要定義消息映射函數(shù)
protected:
//{{AFX_MSG(CMessageTestView)
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
在其MessageTestView.cpp中,先定義
static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");
接著注冊消息:
BEGIN_MESSAGE_MAP(CMessageTestView, CEditView)
//{{AFX_MSG_MAP(CMessageTestView)
        ON_REGISTERED_MESSAGE(WM_MY_MESSAGE,OnMyMessage)
//}}AFX_MSG_MAP
最后添加消息響應(yīng)的函數(shù)實(shí)現(xiàn):
LRESULT CMessageTestView::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
MessageBox("OnMyMessage!");
return 0;
}
----------------------------------------------------------------
比較兩種方法,只是略有不同。但也要小心謹(jǐn)慎,以免出現(xiàn)接收不到消息的情況。
-------------------------------------------------------------------
其他注意事項(xiàng):
發(fā)送消息的-MyMessageDlg.cpp前也要定義
static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");
接受消息的-MessageTestView.cpp前也要定義
static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");
RegisterWindowMessage("Message")中""的內(nèi)容是什么不重要,寫什么都可以,但是
發(fā)送者與接受者必須是一樣的內(nèi)容,例如:"Message"
原文地址:http://www.eehome.cn/read.php?tid=25955
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
VS環(huán)境下MFC程序出現(xiàn)的問題
vc6.0添加自定義用戶消息的基本過程
使用MFC自定義消息
VC自定義消息 傳參字符串
Vc/MFC中自定義消息及其PostMessage觸發(fā)使用
MFC線程通過PostMessage發(fā)送消息(自定義消息)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服