青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

山寨:不是最好的,是最適合我們的!歡迎體驗山寨 中文版MSDN

Blog @ Blog

當華美的葉片落盡,生命的脈絡才歷歷可見。 -- 聶魯達

常用鏈接

統計

積分與排名

BBS

Blog

Web

最新評論

vc自定義消息的發送與接收的方法實現

以下用一個自創的對話框類(MyMessageDlg)向視圖類(MessageTestView)
發送自定義消息為例,說明這兩種不同方法的自定義消息的

消息傳遞的方法一:使用ON_MESSAGE
使用ON_MESSAGE響應消息,必須配合定義消息#define WM_MY_MESSAGE (WM_USER+100)

對于發送消息者-MyMessageDlg,
在其MyMessageDlg.h中,定義#define WM_MY_MESSAGE (WM_USER+100)
在其MyMessageDlg.cpp中要先添加:#i nclude "MainFrm.h"
因為使用了CMainFrame*定義對象。
并且要有測試消息的函數:
void MyMessageDlg::OnButtonMsg()
{
    // TODO: Add your control notification handler code here
    CMainFrame* pMF=(CMainFrame*)AfxGetApp()->m_pMainWnd;  //先通過獲取當前框架指針
    CView * active = pMF->GetActiveView();//才能獲取當前視類指針
    if(active != NULL)  //獲取了當前視類指針才能發送消息
    active->PostMessage(WM_MY_MESSAGE,0,0);   //使用PostMessage發送消息
}

對于消息的接受者-MessageTestView,
在其MessageTestView.h中,也要定義#define WM_MY_MESSAGE (WM_USER+100)
并定義消息映射函數-OnMyMessage()
protected:
 //{{AFX_MSG(CMessageTestView)
 afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
 //}}AFX_MSG
 DECLARE_MESSAGE_MAP()
在其MessageTestView.cpp中,
先要聲明響應消息:
BEGIN_MESSAGE_MAP(CMessageTestView, CEditView)
 //{{AFX_MSG_MAP(CMessageTestView)
 ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
 //}}AFX_MSG_MAP
再添加消息響應的函數實現:
LRESULT CMessageTestView::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
 MessageBox("OnMyMessage!");
 return 0;
}


消息傳遞的方法二:使用ON_REGISTERED_MESSAGE
使用ON_REGISTERED_MESSAGE注冊消息,必須配合
static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");

對于消息的發送者-MyMessageDlg,
在其MyMessageDlg.h中,只要
定義static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");
就可以了。
在其MyMessageDlg.cpp中要先添加:#i nclude "MainFrm.h"
因為使用了CMainFrame*定義對象。
并且要有測試消息的函數:
void MyMessageDlg::OnButtonMsg()
{
    // TODO: Add your control notification handler code here
    CMainFrame* pMF=(CMainFrame*)AfxGetApp()->m_pMainWnd;  //先通過獲取當前框架指針
    CView * active = pMF->GetActiveView();//才能獲取當前視類指針
    if(active != NULL)  //獲取了當前視類指針才能發送消息
    active->PostMessage(WM_MY_MESSAGE,0,0);   //使用PostMessage發送消息
}

對于消息的接收者-MessageTestView,
在其MessageTestView.h中不要定義
static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");
應該把這個定義放到MessageTestView.cpp中,要不會出現: redefinition
在其MessageTestView.h中只要定義消息映射函數
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
最后添加消息響應的函數實現:
LRESULT CMessageTestView::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
 MessageBox("OnMyMessage!");
 return 0;
}
----------------------------------------------------------------
比較兩種方法,只是略有不同。但也要小心謹慎,以免出現接收不到消息的情況。

-------------------------------------------------------------------

其他注意事項:

發送消息的-MyMessageDlg.cpp前也要定義
static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");

接受消息的-MessageTestView.cpp前也要定義
static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");

RegisterWindowMessage("Message")中""的內容是什么不重要,寫什么都可以,但是
發送者與接受者必須是一樣的內容,例如:"Message"

posted on 2008-04-22 21:17 isabc 閱讀(3445) 評論(3)  編輯 收藏 引用 所屬分類: C++基礎

評論

# re: vc自定義消息的發送與接收的方法實現 2008-05-08 08:32 川菜

我覺得你實現的有點問題,多此一舉了!!你通過:CMainFrame* pMF=(CMainFrame*)AfxGetApp()->m_pMainWnd; 取得了當前框架的指針,然后又通過 CView * active = pMF->GetActiveView();取得當前活動視類指針。注意,你用了active->PostMessage(WM_MY_MESSAGE,0,0);實際是通過視類指針給視類自己發了一個消息WM_MY_MESSAGE,然后通過消息傳遞調用了相應的函數OnMyMessage()。我覺得這里是不是多此一舉?直接這樣active->OnMyMessage()不就行了?
你實際上在對話框里獲得的了視類的指針,然后通過視類指針給視類自己發了一條消息!!!!是不是有點多此一舉?
  回復  更多評論   

# re: vc自定義消息的發送與接收的方法實現 2008-08-22 13:38 笑嘻嘻

知其然而不知其所以然!  回復  更多評論   

# re: vc自定義消息的發送與接收的方法實現 2009-11-09 16:54 sdff

# re: vc自定義消息的發送與接收的方法實現 2008-05-08 08:32 川菜
如果你這樣想,就沒必要用消息了  回復  更多評論   

廣告信息(免費廣告聯系)

中文版MSDN:
歡迎體驗

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久婷婷激情| 99视频+国产日韩欧美| 日韩视频免费观看高清在线视频 | 久久中文在线| 亚洲永久字幕| 欧美日韩国产91| 欧美黄色一级视频| 在线免费观看视频一区| 亚洲欧美在线一区二区| 亚洲一区欧美激情| 欧美人妖另类| 欧美激情一区二区三区在线视频观看| 国产一区二区三区日韩欧美| 一区二区黄色| 亚洲无限av看| 欧美日韩一区二区三区四区在线观看| 亚洲第一区在线| 亚洲国产精品久久久久秋霞不卡 | 国产在线播放一区二区三区| 亚洲天堂久久| 亚洲——在线| 国产精品人人爽人人做我的可爱| 亚洲精品日韩精品| 一级成人国产| 欧美午夜视频一区二区| 在线亚洲激情| 香蕉av777xxx色综合一区| 国产精品扒开腿做爽爽爽软件| 日韩视频在线一区二区| 一本在线高清不卡dvd| 欧美日韩亚洲天堂| 一本一本久久| 欧美在线啊v一区| 国产一区二区三区在线观看免费 | 这里是久久伊人| 欧美三级视频| 亚洲欧美色婷婷| 久久久久国产精品一区| 在线精品国产成人综合| 蜜臀av一级做a爰片久久| 亚洲国产精品v| 亚洲无人区一区| 国产亚洲成av人在线观看导航 | 欧美一级久久| 好男人免费精品视频| 蜜乳av另类精品一区二区| 亚洲盗摄视频| 亚洲一区二区黄色| 国产一区91| 欧美~级网站不卡| 一区二区三区黄色| 久久久久久久国产| 亚洲美女区一区| 国产精品男女猛烈高潮激情 | 亚洲一区自拍| 免费不卡欧美自拍视频| 99爱精品视频| 国产一级一区二区| 欧美黄色影院| 先锋a资源在线看亚洲| 欧美国产日韩一区二区| 亚洲视频电影在线| 伊人久久大香线蕉综合热线| 欧美精品一区二区三| 欧美一区二区三区视频在线| 亚洲二区视频在线| 久久aⅴ国产紧身牛仔裤| 亚洲人成在线免费观看| 国产免费一区二区三区香蕉精| 巨乳诱惑日韩免费av| 亚洲尤物在线视频观看| 亚洲国产小视频| 久久久久国色av免费看影院 | 亚洲免费一在线| 亚洲国产精品va在线观看黑人| 午夜亚洲影视| 一区二区高清在线观看| 在线观看欧美精品| 国产精品一区二区久久久| 欧美成人亚洲成人| 久久国产精品一区二区三区| 亚洲天堂久久| 亚洲精品中文字幕女同| 欧美国产免费| 久久亚洲春色中文字幕| 亚洲女人天堂成人av在线| 亚洲精品一二三| 精品av久久707| 国产日韩一区二区三区在线播放 | 久久久女女女女999久久| 亚洲综合色丁香婷婷六月图片| 亚洲精品一区二区三区在线观看 | 久久精品亚洲一区二区三区浴池| 亚洲一二三区在线观看| 亚洲精品网站在线播放gif| 在线观看日韩av先锋影音电影院| 国产欧美va欧美va香蕉在| 欧美四级剧情无删版影片| 欧美激情综合色| 欧美高清成人| 欧美成人一区二区三区在线观看| 久久久久久久久蜜桃| 久久爱www久久做| 欧美亚洲免费电影| 欧美一二三视频| 欧美在线观看视频在线| 欧美一级淫片aaaaaaa视频| 亚洲综合成人婷婷小说| 亚洲男同1069视频| 亚洲自拍三区| 欧美制服丝袜第一页| 欧美主播一区二区三区| 欧美一区二区三区视频免费播放| 先锋影音久久久| 香港久久久电影| 久久大综合网| 久久综合影视| 欧美黄网免费在线观看| 欧美日韩精品一区二区三区四区| 欧美视频在线一区| 国产精品久久久久国产a级| 国产精品综合| 一区在线视频| 亚洲激情精品| 亚洲一区二区三区免费在线观看| 亚洲综合99| 久久蜜臀精品av| 亚洲国产成人av| av成人福利| 欧美专区福利在线| 欧美成在线视频| 国产精品v欧美精品v日韩| 国产日韩欧美一区二区| 亚洲电影观看| 亚洲一区二区三区在线观看视频| 欧美一区二区三区日韩| 免费91麻豆精品国产自产在线观看| 欧美激情在线有限公司| 在线视频一区观看| 久久香蕉国产线看观看av| 欧美激情第六页| 国产精品呻吟| 91久久久在线| 欧美一级一区| 亚洲国产一区二区精品专区| 亚洲一区二区四区| 蘑菇福利视频一区播放| 国产精品亚洲成人| 91久久综合亚洲鲁鲁五月天| 午夜视黄欧洲亚洲| 欧美激情在线播放| 午夜综合激情| 欧美全黄视频| 伊人影院久久| 性一交一乱一区二区洋洋av| 欧美激情成人在线| 小嫩嫩精品导航| 欧美三级电影网| 亚洲国产欧美一区二区三区久久 | 久久不射2019中文字幕| 亚洲激情网址| 久久激情中文| 国产精品视频免费观看| 99精品国产一区二区青青牛奶| 久久黄金**| 国产精品99久久99久久久二8| 免费成年人欧美视频| 国产一区二区三区日韩| 午夜免费在线观看精品视频| 亚洲黄色三级| 免费成人黄色| 在线日韩中文字幕| 久久精品国产第一区二区三区| 99精品福利视频| 欧美精品综合| 亚洲精品乱码久久久久久日本蜜臀 | 国产精品一区二区你懂得| 亚洲乱码国产乱码精品精可以看| 巨胸喷奶水www久久久免费动漫| 亚洲无线视频| 欧美日韩亚洲综合在线| 日韩视频一区二区三区| 亚洲成人自拍视频| 久久一区二区三区国产精品 | 欧美激情区在线播放| 久久久www成人免费精品| 国产一区二区三区四区五区美女| 午夜精品理论片| 亚洲自拍偷拍福利| 国产精品日韩专区| 先锋a资源在线看亚洲| 亚洲尤物在线视频观看| 国产乱码精品一区二区三| 午夜亚洲影视| 新67194成人永久网站| 国产亚洲一区二区三区在线观看 | 亚洲欧美日韩久久精品| 亚洲视频导航| 国产日韩精品在线播放| 久久久久久久成人|