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

山寨:不是最好的,是最適合我們的!歡迎體驗山寨 中文版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 閱讀(3443) 評論(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>
            一本色道久久88综合亚洲精品ⅰ | 久久久久国产精品www| 一区二区三区不卡视频在线观看| 久久久中精品2020中文| 欧美在线一区二区三区| 亚洲黄色精品| 免费一区二区三区| 午夜伦理片一区| 激情另类综合| 欧美a级一区| 欧美成人xxx| 亚洲欧美三级伦理| 亚洲国产精品va在看黑人| 久久国产精品一区二区三区| 亚洲国产成人tv| 欧美日韩成人在线播放| 午夜日韩在线观看| 日韩视频一区二区三区| 久久人人爽人人爽| 一区二区电影免费在线观看| 亚洲伊人网站| 日韩亚洲一区二区| 伊人激情综合| 国产一区二区三区在线观看免费视频| 欧美激情网站在线观看| 欧美在线欧美在线| 蜜臀91精品一区二区三区| 久久在线播放| 久久久久久高潮国产精品视| 久久久亚洲精品一区二区三区| 欧美激情中文字幕在线| 国产一区二区0| 一本色道久久综合亚洲精品婷婷| 欧美中文日韩| 久久精品亚洲一区二区| 亚洲人成在线播放网站岛国| 国产精品视频网| 欧美日韩免费区域视频在线观看| 噜噜爱69成人精品| 欧美日韩伦理在线免费| 一区二区在线视频| 亚洲宅男天堂在线观看无病毒| 久久亚洲国产成人| 久久手机免费观看| 日韩午夜在线| 猛男gaygay欧美视频| 国产亚洲激情视频在线| 韩日在线一区| 一区二区三区在线视频播放| 亚洲在线网站| 亚洲欧洲精品一区二区| 91久久久亚洲精品| 欧美一级免费视频| 久久久久久久久久久久久久一区| 国产精品国产三级国产专播精品人 | 免费久久精品视频| 极品尤物久久久av免费看| 欧美一级播放| 卡通动漫国产精品| 亚洲欧美国产精品专区久久| 亚洲国产另类精品专区 | 亚洲肉体裸体xxxx137| 亚洲人屁股眼子交8| 久久躁日日躁aaaaxxxx| 午夜久久tv| 国产日韩欧美二区| 西西裸体人体做爰大胆久久久| 亚洲国产精品www| 美女主播一区| 99国产精品久久久久久久成人热 | 亚洲一区二三| av成人免费| 久久久91精品国产一区二区三区 | 国产精品一二| 国产一区二区三区四区在线观看| 欧美一区二区在线免费播放| 久久成人在线| 性欧美超级视频| 国产主播一区| 亚洲电影观看| 午夜精品成人在线| 亚洲综合电影| 一区二区三区在线免费播放| 亚洲国产精品va在看黑人| 男人的天堂成人在线| 亚洲网站在线| 久久精品99国产精品| 性欧美1819性猛交| 一区二区三区亚洲| 99re热精品| 国模套图日韩精品一区二区| 免费在线观看日韩欧美| 久久免费视频在线| 欧美激情第4页| 国产目拍亚洲精品99久久精品| 亚洲国产一区二区a毛片| 欧美一区二区观看视频| 久久婷婷久久| 国产视频在线一区二区| 欧美国产一区视频在线观看| 在线视频你懂得一区| 久久午夜精品| 亚洲欧美视频| 欧美高清一区| 久久久久久久综合狠狠综合| 欧美久久久久| 99天天综合性| 久久久久久久一区二区| 亚洲欧美成人| 99在线精品视频| 激情成人在线视频| 亚洲视频999| 日韩视频中文字幕| 久久久欧美一区二区| 亚洲第一色在线| 性感少妇一区| 一本色道88久久加勒比精品| 久久人人爽国产| 欧美高清在线| 亚洲国产成人在线| 国产日韩专区| 亚洲视频专区在线| 国产精品欧美经典| 欧美在线一二三| 欧美图区在线视频| 欧美亚洲网站| 欧美色区777第一页| 亚洲女女做受ⅹxx高潮| 欧美激情精品久久久| 久久综合中文色婷婷| 国产精品视频xxxx| 亚洲精品男同| 国产亚洲人成a一在线v站| 宅男66日本亚洲欧美视频| 久久久国产精品一区二区三区| 欧美日韩三区四区| 亚洲第一主播视频| 亚洲麻豆一区| 欧美亚洲综合在线| 亚洲女性裸体视频| 国产欧美日韩激情| 亚洲男人第一网站| 性欧美在线看片a免费观看| 国产精品成人观看视频国产奇米| 一本大道久久精品懂色aⅴ| 亚洲区在线播放| 欧美韩日一区二区三区| 亚洲激情欧美激情| 亚洲一区二区成人| 国产亚洲激情| 欧美aa国产视频| av72成人在线| 久久精品国产69国产精品亚洲| 黄色影院成人| 久久综合福利| 亚洲人人精品| 欧美综合第一页| 伊伊综合在线| 欧美激情精品久久久久久久变态| 亚洲黄色av一区| 亚洲一区一卡| 一区免费视频| 国产精品国产自产拍高清av王其| 亚洲一区二区少妇| 国产日韩在线播放| 亚洲精品视频在线播放| 国产麻豆91精品| 欧美一区二区三区四区在线观看地址 | 久久综合给合久久狠狠色| 尤物九九久久国产精品的特点 | 国产私拍一区| 欧美成人伊人久久综合网| 久久中文欧美| 蜜臀av国产精品久久久久| 99精品视频免费在线观看| 香蕉免费一区二区三区在线观看| 国产精品久久99| 久久久久国内| 亚洲美女一区| 国产一区二区三区电影在线观看| 欧美在线视频网站| 91久久黄色| 狂野欧美一区| 午夜精品久久久久久久久久久久久 | 亚洲国产一成人久久精品| 欧美区在线观看| 久久久久久久91| 中文国产成人精品| 蜜桃久久av一区| 欧美一区二区三区在线观看| 亚洲激情第一区| 黄色精品网站| 国产精品视频yy9099| 欧美成人a视频| 另类天堂av| 欧美一区在线看| 亚洲一区二区三区免费视频| 亚洲精品小视频| 亚洲三级国产| 亚洲日本免费|