afx_msg

afx_msg是計算機函式。

基本介紹

  • 外文名:afx_msg
  • 提出者:未知
  • 套用學科:計算機
  • 本質:計算機函式
AFX前綴,函式原型,處理函式,

AFX前綴

Afx前綴是微軟MFC一個小組的名稱簡寫,並沒有別的意義。  MFC的很多代碼,包括全局函式名、宏、頭檔案名稱都使用了"Afx"。  Afx*.h是一組MFC的核心頭檔案, 比如: afxwin.h 定義MFC的核心和標準組件  afxext.h 定義MFC的擴展  afxdisp.h 是MFC自動化支持的類定義頭檔案  afxdb.h 是MFC的ODBC類封裝

函式原型

在頭檔案(DrawView.h)中聲明訊息回響函式原型。
//{{AFX_MSG(CDrawView) //注釋宏
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
//}}AFX_MSG //注釋宏
說明:
在注釋宏之間的聲明在VC中灰色顯示。afx_msg宏表示聲明的是一個訊息回響函式
afx_msg訊息函式
應用程式框架產生的訊息映射函式
例如:afx_msg void OnBnClickedButton1(); 其中 afx_msg為訊息標誌,它向系統聲明:有訊息映射到函式實現體;而在map宏定義中,就有具體訊息和此函式的映射定義(可以是自定義,也可以是系統自動完成的)
afx是 application framework

處理函式

如定義一個Edit的Change處理函式:
一、在類的頭檔案(*.h)中增加 :
//{{AFX_MSG(CDialogDemo)
afx_msg void OnChangeEdit1();
//}}AFX_MSG
二、在類的實現檔案(*.cpp)中增加:
1.訊息定義( ON_EN_CHANGE):
BEGIN_MESSAGE_MAP(CDialogDemo, CDialog)
//{{AFX_MSG_MAP()
ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
2.執行函式:
void CDialogDemo::OnChangeEdit1()
{
// TODO: Add your control notification handler code here
……
}
在afxwin.h中afx_msg的解釋:
#ifndef afx_msg
#define afx_msg // intentional placeholder
#endif
沒什麼意思.只是定義了這個符號而已. 這個對編譯器來說,相當於什麼都沒有,對於人來說,我們可以看到這樣的符號. 對於類嚮導來說.這個符號才是有意義的.它是一個訊息處理函式的前綴. 類嚮導生成的訊息函式,分發函式,事件回響函式都以這個為前綴. 如果去掉了,嚮導將不能識別

相關詞條

熱門詞條

聯絡我們