java 自定义消息_Vc中自定义消息及其触发使用
Vc中自定義消息及其觸發(fā)使用
如何在VC++中加入自定義消息,我的做法:
這里我以一個對話框為例子,環(huán)境:VS 2008,新建一個工程,選擇對話框:以編譯器給出的對話框為藍(lán)本,自己新建一個按鈕如圖:
把名字改成如圖的,其他比如ID什么的都不改了,默認(rèn)。
1首先在ownermessageDlg.h中定義消息:例如
define WM_MYMESSAGE (WM_USER+100)
2在.H文件中,加入消息響應(yīng)函數(shù),如:
afx_msg LRESULT OnMyMessage(WPARAM w,LPARAM l);
該函數(shù)有規(guī)定的格式:
afx_msg LRESULT Function_Name(WPARAM w,LPARAM l);
3在ownermessageDlg.cpp中加入消息響應(yīng)宏
在響應(yīng)該消息的類中,在消息響應(yīng)塊中,
BEGIN_MESSAGE_MAP(CownermessageDlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
加入以下語句:
ON_MESSAGE(WM_MYMESSAGE, OnMyMessage)
成為如下樣式:
BEGIN_MESSAGE_MAP(CownermessageDlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_MESSAGE(WM_MYMESSAGE,OnMyMessage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
4在.CPP文件中,編輯消息響應(yīng)函數(shù),如下:
LRESULT CownermessageDlg::OnMyMessage(WPARAM wParam, LPARAM lParam) {
MessageBox(_T("My Message!"));
return 1;
}
5.在對話框中為新增的按鈕添加單擊響應(yīng),ownermessageDlg.cpp中的MESSAGE_MAP變成:
BEGIN_MESSAGE_MAP(CownermessageDlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_MESSAGE(WM_MYMESSAGE,OnMyMessage)
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDC_BUTTON1, &CownermessageDlg::OnBnClickedButton1)
END_MESSAGE_MAP()
voidCownermessageDlg::OnBnClickedButton1()
{
// TODO: Add your control notification handler code here
//::PostMessage(
PostMessage(WM_MYMESSAGE, IDC_BUTTON1);
}
PostMessage(……)這個就是響應(yīng)WM_MYMESSAGE消息的,其實這樣寫也是可以的:
PostMessage(WM_MYMESSAGE);
我們來看看這個消息的函數(shù)原型:
在CWnd::PostMessage中定義
BOOLPostMessage(
UINTmessage,
WPARAMwParam= 0,
LPARAMlParam= 0
);
Parameters:
message
Specifies the message to be posted.
wParam
Specifies additional message information. The content of this parameter depends on the message being posted.
lParam
Specifies additional message information. The content of this parameter depends on the message being posted.
Return Value
Nonzero if the message is posted; otherwise 0.
所以一般的當(dāng)點擊時,消息觸發(fā)就會發(fā)送一個WM_MYMESSAGE消息,故而調(diào)用CownermessageDlg::OnMyMessage(WPARAM wParam, LPARAM lParam)這個函數(shù)。
分享到:
2008-01-22 10:57
瀏覽 564
評論
總結(jié)
以上是生活随笔為你收集整理的java 自定义消息_Vc中自定义消息及其触发使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推箱子java下载_Java实现简单推箱
- 下一篇: 杭电oj java printf_杭电o