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

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

Blog @ Blog

當(dāng)華美的葉片落盡,生命的脈絡(luò)才歷歷可見(jiàn)。 -- 聶魯達(dá)

常用鏈接

統(tǒng)計(jì)

積分與排名

BBS

Blog

Web

最新評(píng)論

vc自定義消息的發(fā)送與接收的方法實(shí)現(xiàn)

以下用一個(gè)自創(chuàng)的對(duì)話框類(lèi)(MyMessageDlg)向視圖類(lèi)(MessageTestView)
發(fā)送自定義消息為例,說(shuō)明這兩種不同方法的自定義消息的

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

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

對(duì)于消息的接受者-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注冊(cè)消息,必須配合
static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");

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

對(duì)于消息的接收者-MessageTestView,
在其MessageTestView.h中不要定義
static UINT WM_MY_MESSAGE=RegisterWindowMessage("Message");
應(yīng)該把這個(gè)定義放到MessageTestView.cpp中,要不會(huì)出現(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");
接著注冊(cè)消息:
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)容是什么不重要,寫(xiě)什么都可以,但是
發(fā)送者與接受者必須是一樣的內(nèi)容,例如:"Message"

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

評(píng)論

# re: vc自定義消息的發(fā)送與接收的方法實(shí)現(xiàn) 2008-05-08 08:32 川菜

我覺(jué)得你實(shí)現(xiàn)的有點(diǎn)問(wèn)題,多此一舉了!!你通過(guò):CMainFrame* pMF=(CMainFrame*)AfxGetApp()->m_pMainWnd; 取得了當(dāng)前框架的指針,然后又通過(guò) CView * active = pMF->GetActiveView();取得當(dāng)前活動(dòng)視類(lèi)指針。注意,你用了active->PostMessage(WM_MY_MESSAGE,0,0);實(shí)際是通過(guò)視類(lèi)指針給視類(lèi)自己發(fā)了一個(gè)消息WM_MY_MESSAGE,然后通過(guò)消息傳遞調(diào)用了相應(yīng)的函數(shù)OnMyMessage()。我覺(jué)得這里是不是多此一舉?直接這樣active->OnMyMessage()不就行了?
你實(shí)際上在對(duì)話框里獲得的了視類(lèi)的指針,然后通過(guò)視類(lèi)指針給視類(lèi)自己發(fā)了一條消息!!!!是不是有點(diǎn)多此一舉?
  回復(fù)  更多評(píng)論   

# re: vc自定義消息的發(fā)送與接收的方法實(shí)現(xiàn) 2008-08-22 13:38 笑嘻嘻

知其然而不知其所以然!  回復(fù)  更多評(píng)論   

# re: vc自定義消息的發(fā)送與接收的方法實(shí)現(xiàn) 2009-11-09 16:54 sdff

# re: vc自定義消息的發(fā)送與接收的方法實(shí)現(xiàn) 2008-05-08 08:32 川菜
如果你這樣想,就沒(méi)必要用消息了  回復(fù)  更多評(píng)論   

廣告信息(免費(fèi)廣告聯(lián)系)

中文版MSDN:
歡迎體驗(yàn)

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久精品人人做人人爽| 久久久高清一区二区三区| 韩国av一区| 亚洲在线不卡| 在线一区观看| 欧美激情亚洲视频| 欧美成人国产va精品日本一级| 国产精品美女一区二区在线观看| 亚洲高清视频一区| 娇妻被交换粗又大又硬视频欧美| 亚洲欧美日韩精品久久奇米色影视 | 亚洲国产天堂久久综合网| 国内精品视频一区| 性欧美办公室18xxxxhd| 欧美一区二区三区精品| 国产精品一卡二| 亚洲一区在线看| 亚洲欧美日韩国产综合| 国产精品福利av| 亚洲一区二区三区四区在线观看| 中文精品一区二区三区 | 久久久久久久久久久久久女国产乱 | 亚洲一区二区精品视频| 亚洲伊人第一页| 国产精品成人一区二区三区吃奶| 日韩午夜一区| 亚洲在线免费观看| 国产精品一区免费在线观看| 亚洲一区精品视频| 久久国产黑丝| 国语自产精品视频在线看| 久久久久国产精品www| 欧美成人免费在线视频| 亚洲电影免费观看高清完整版| 久久久久久噜噜噜久久久精品| 老牛嫩草一区二区三区日本 | 亚洲第一精品久久忘忧草社区| 欧美中文字幕在线视频| 久久一区二区精品| 91久久午夜| 欧美伦理在线观看| 宅男在线国产精品| 久久理论片午夜琪琪电影网| 精品成人在线观看| 欧美激情亚洲另类| 亚洲婷婷免费| 另类av导航| 99成人在线| 国产精品一区一区三区| 久久久久久久999精品视频| 欧美韩日精品| 亚洲免费中文字幕| 激情综合久久| 欧美日韩亚洲一区在线观看| 亚洲欧美一区二区视频| 欧美肥婆在线| 亚洲欧美视频在线观看视频| 一区一区视频| 欧美日韩视频在线观看一区二区三区| 亚洲自拍16p| 欧美激情精品久久久久久蜜臀| 亚洲视频播放| 在线精品福利| 国产精品二区二区三区| 久久理论片午夜琪琪电影网| 日韩午夜在线电影| 久久影院午夜论| 在线视频欧美日韩| 有码中文亚洲精品| 国产精品拍天天在线| 牛牛国产精品| 久久成人免费电影| 中国成人亚色综合网站| 欧美成人精品| 欧美在线不卡视频| 亚洲天堂男人| 最新日韩av| 激情六月婷婷久久| 国产欧美日韩不卡| 欧美色图首页| 欧美精品尤物在线| 另类酷文…触手系列精品集v1小说| 亚洲午夜精品一区二区| 亚洲人成网站影音先锋播放| 免费在线国产精品| 久久成人av少妇免费| 亚洲性感美女99在线| 亚洲激情网址| 伊人久久婷婷| 国产自产2019最新不卡| 国产精品少妇自拍| 国产精品国产三级国产专播精品人| 免费人成精品欧美精品| 久久日韩粉嫩一区二区三区| 亚洲自拍偷拍视频| 亚洲天堂成人在线视频| 99精品欧美| 亚洲精品中文字幕在线| 亚洲欧洲免费视频| 亚洲激情专区| 亚洲人久久久| 亚洲精品久久久久中文字幕欢迎你| 欧美成人激情视频免费观看| 蜜臀av性久久久久蜜臀aⅴ| 久久精品水蜜桃av综合天堂| 性xx色xx综合久久久xx| 欧美一区二区高清| 欧美一区二区视频免费观看 | 这里只有精品视频| 宅男66日本亚洲欧美视频| 一本一本久久a久久精品牛牛影视| 亚洲国产精品激情在线观看| 亚洲高清电影| 亚洲久久在线| 一本大道久久精品懂色aⅴ | 亚洲欧美国产视频| 亚洲欧美日韩国产一区二区三区| 亚洲一区二区三区午夜| 午夜精品成人在线视频| 欧美与黑人午夜性猛交久久久| 欧美一区二区三区四区视频| 久久经典综合| 欧美国产日韩一区二区在线观看| 欧美激情亚洲综合一区| 亚洲国产精品视频一区| 日韩一区二区免费高清| 亚洲制服少妇| 久久成人综合视频| 欧美福利视频网站| 国产精品v欧美精品∨日韩| 国产精品中文在线| 亚洲成人资源网| 一本色道久久综合亚洲二区三区| 亚洲一区免费视频| 久久久精品一区二区三区| 欧美国产日韩免费| 一区二区三区**美女毛片| 亚洲欧美在线免费观看| 噜噜爱69成人精品| 欧美日韩精品在线播放| 国产一区999| av成人激情| 久久久久久久国产| 亚洲狼人精品一区二区三区| 午夜日韩电影| 欧美区日韩区| 韩国自拍一区| 亚洲欧美成人网| 欧美二区在线观看| 亚洲男人av电影| 欧美激情aaaa| 国外成人网址| 亚洲欧美国产视频| 亚洲高清在线播放| 性感少妇一区| 欧美特黄a级高清免费大片a级| 精久久久久久| 午夜精品久久久久久久99水蜜桃| 欧美第一黄色网| 欧美一进一出视频| 欧美涩涩网站| 日韩视频中文| 浪潮色综合久久天堂| 亚洲一区图片| 欧美日韩一区二区在线| 亚洲国产黄色| 久久久精品日韩欧美| 中文精品视频| 欧美日韩国产首页| 亚洲精品影院在线观看| 免费中文字幕日韩欧美| 先锋影院在线亚洲| 国产精品久久久久久久久久直播 | 久久久国产精品亚洲一区| 一本色道久久99精品综合| 久久综合久久综合这里只有精品| 国产亚洲精品aa| 午夜精品一区二区三区在线播放| 亚洲激情视频在线播放| 老司机午夜免费精品视频| 国内精品久久久久影院优 | 欧美激情一区二区三区| 久久久久天天天天| 红桃视频成人| 久久免费视频在线| 欧美自拍偷拍| 国产一区二区三区在线播放免费观看| 亚洲欧美日韩中文在线制服| 一级日韩一区在线观看| 欧美日韩在线看| 亚洲无线视频| 9l视频自拍蝌蚪9l视频成人| 欧美视频在线一区二区三区| 亚洲天堂免费观看| 一区二区三区黄色| 国产精品嫩草久久久久| 欧美在线观看视频在线| 欧美一级理论片| 影音先锋一区| 亚洲人成小说网站色在线|