日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 自定义消息_Vc中自定义消息及其触发使用

發布時間:2024/4/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 自定义消息_Vc中自定义消息及其触发使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Vc中自定義消息及其觸發使用

如何在VC++中加入自定義消息,我的做法:

這里我以一個對話框為例子,環境:VS 2008,新建一個工程,選擇對話框:以編譯器給出的對話框為藍本,自己新建一個按鈕如圖:

把名字改成如圖的,其他比如ID什么的都不改了,默認。

1首先在ownermessageDlg.h中定義消息:例如

define WM_MYMESSAGE (WM_USER+100)

2在.H文件中,加入消息響應函數,如:

afx_msg LRESULT OnMyMessage(WPARAM w,LPARAM l);

該函數有規定的格式:

afx_msg LRESULT Function_Name(WPARAM w,LPARAM l);

3在ownermessageDlg.cpp中加入消息響應宏

在響應該消息的類中,在消息響應塊中,

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文件中,編輯消息響應函數,如下:

LRESULT CownermessageDlg::OnMyMessage(WPARAM wParam, LPARAM lParam) {

MessageBox(_T("My Message!"));

return 1;

}

5.在對話框中為新增的按鈕添加單擊響應,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(……)這個就是響應WM_MYMESSAGE消息的,其實這樣寫也是可以的:

PostMessage(WM_MYMESSAGE);

我們來看看這個消息的函數原型:

在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.

所以一般的當點擊時,消息觸發就會發送一個WM_MYMESSAGE消息,故而調用CownermessageDlg::OnMyMessage(WPARAM wParam, LPARAM lParam)這個函數。

分享到:

2008-01-22 10:57

瀏覽 564

評論

總結

以上是生活随笔為你收集整理的java 自定义消息_Vc中自定义消息及其触发使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。