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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

VC++之自定义消息

發布時間:2025/3/21 c/c++ 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VC++之自定义消息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用戶可以自定義消息,在應用程序中主動發出,這種消息一般用于應用程序的某一部分內部處理。

?

實例說明:

當用戶按鍵盤上的光標上移鍵時,程序發送用戶自定義消息,在對應的消息響應函數中彈出消息對話框,顯示消息發送成功。

?

操作步驟:

(1)創建一個單文檔應用程序,名為:自定義消息處理。

?

(2)定義用戶消息ID(標識符)值,在視圖類的頭文件CMyView.h中的前面寫如下語句,定義用戶消息的標識符:

#endif? //_MSC_VER > 1000

#define WM_MYMESSAGE??? (WM_USER + 1)

class CMyView : public CView

{

?? …
???? }

?

(3)聲明并自定義用戶消息響應函數:

單擊項目工作區ClassView,展開“自定義消息處理files”,右鍵單擊CMyView,在彈出的快捷菜單中單擊Add Member Function,在彈出的對話框中的Function Type(函數類型)處寫:void,在Function Declaration(函數聲明)處寫:OnMyFunction(),這時就將該消息響應函數加到CMyView.cpp中了,并添加代碼:

void CMyView::OnMyFunction()

{

????? MessageBox(“恭喜你,消息發送成功!”);
???? }

?

(4)在視圖類的實現文件CMyView.cpp中的消息入口處添加消息映射:

BEGIN_MESSAGE_MAP(CMyView, CView)

//{{AFX_MSG_MAP(CMyView)

ON_MESSAGE(WM_MYMESSAGE, OnMyFunction)

//}}AFX_MSG_MAP

?

(5)編寫程序代碼

將WM_KEYDOWN消息響應函數(用戶按光標上移鍵時,將產生該消息)映射到視圖類CMyView中,并加代碼:

void CMyView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)

{

????? HWND hWnd = GetSafeHwnd();? //接收消息的窗口句柄

????? if(nChar == VK_UP)? //光標上移鍵

????? {

???????????? ::PostMessage(hWnd, WM_MYMESSAGE, 0, 0);? //將自定義消息插入消息隊列并返回

???????????? return ;

????? }

????? CView::OnKeyDown(nChar, nRepCnt, nFlags);
???? }

?

(6)編譯運行,按鍵盤上的光標上移鍵,程序發送自定義消息,彈出一個對話框,如下圖所示:

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的VC++之自定义消息的全部內容,希望文章能夠幫你解決所遇到的問題。

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