zoukankan      html  css  js  c++  java
  • 关于对afx_msg的解释-----来源百度百科

    1AFX前缀

    Afx前缀是微软MFC一个小组的名称简写,并没有别的意义。  MFC的很多代码,包括全局函数名、宏、头文件名都使用了"Afx"。  Afx*.h是一组MFC的核心头文件, 比如: afxwin.h 定义MFC的核心和标准组件  afxext.h 定义MFC的扩展  afxdisp.h 是MFC自动化支持的类定义头文件  afxdb.h 是MFC的ODBC类封装

    2AFX_msg函数原型

    在头文件(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

    3Change处理函数

    如定义一个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
    没什么意思.只是定义了这个符号而已. 这个对编译器来说,相当于什么都没有,对于人来说,我们可以看到这样的符号. 对于类向导来说.这个符号才是有意义的.它是一个消息处理函数的前缀. 类向导生成的消息函数,分发函数,事件响应函数都以这个为前缀. 如果去掉了,向导将不能识别 
  • 相关阅读:
    HDU4507 吉哥系列故事――恨7不成妻(数位dp)
    UCF Local Programming Contest 2017 G题(dp)
    ICPC Latin American Regional Contests 2019 I题
    UCF Local Programming Contest 2017 H题(区间dp)
    HDU2089 不要62
    AcWing1084 数字游戏II(数位dp)
    UCF Local Programming Contest 2017 F题(最短路)
    Google Code Jam 2019 Round 1A Pylons(爆搜+贪心)
    AcWing1083 Windy数(数位dp)
    Vue
  • 原文地址:https://www.cnblogs.com/tgycoder/p/4266052.html
Copyright © 2011-2022 走看看