mfc常用函数:MFC常用宏的分类及其作用与用法



1.MFC宏概述以及常用宏及作用
 MFC宏是MFC类库个重要组成部分在MFC应用中经常出现根据用途大致辞可分为消息映射宏运行时类型识别宏调试宏和异常处理宏等
    MFC中常用宏及其作用如下:
         名称                                                                               功能
    RUNTIME_CLASS                     获得运行时类CRuntimeClass结构指针 RUNTIME_CLASS( _name )
    DECLARE_DYNAMIC              提供基本运行时类型识别(声明) DECLARE_DYNAMIC( _name )
    IMPLEMENT_DYNAMIC        提供基本运行时类型识别(实现) IMPLEMENT_DYNAMIC (_name, base__name )
    DECLARE_DYNCREATE          动态创建(声明) DECLARE_DYNCREATE( _name )
    IMPLEMENT_DYNCREATE    动态创建(实现) IMPLEMENT_DYNCREATE( _name,base__name )
    DECLARE_SERIAL                    对象序列化(声明) DECLARE_SERIAL( _name )
    IMPLEMENT_SERIAL              对象序列化(实现)IMPLEMENT_SERIAL(_name,base__name,wSchema)
    DECLARE_MESSAGE_MAP    声明消息映射表 DECLARE_MESSAGE_MAP
    BEGIN_MESSAGE_MAP          开始建立消息映射表 BEGIN_MESSAGE_MAP( theClass, baseClass )
    END_MESSAGE_MAP              结构建立消息映射表 END_MESSAGE_MAP
    ON_COMMAND                        命令消息映射宏
    ON_MESSAGE                            自定义消息映射宏
    ON_WM_...                                  MFC预定义消息映射宏
    ON_BN_...,ON_EN_...等             Control控件通知消息映射宏

 

2.部分宏介绍说明:
  a.RUNTIME_CLASS宏使能实时创建类例子为了让这个宏起作用定义类必须从CObject类派生而来并且在派生类定义中必须使用宏DECLARE_DYNAMIC,DECLARE_DYNCREATE或DECLARE_SERIAL,在派生类实现文件中必须使用宏IMPLEMENT_DYNAMIC,IMPLEMENT_DYNCREATE或IMPLEMENT_SERIAL
  b.DECLARE_DYNAMIC只能使CObject派生类对象具有基本类型识别功能可以通过CObject::IsKindOf(ClassName)测试对象和给定类ClassName关系
  c.DECLARE_DYNCREATE包括了DECLARE_DYNAMIC功能DECLARE_SERIAL包括了DECLARE_DYNAMIC和    DECLARE_DYNCREATE功能

 

3.MFC调试宏

a.跟踪宏:TRACE(<表达式>)

b.断言宏:ASSERT(<表达式>)
  当ASSERT宏参数不为真时暂停执行如果表达式值为真则不做任何事情如果参数为假时则暂停执行并弹出个对话框告诉用户暂停运行行以及所在文件信息用户可以根据情况选择终止运行调试或继续运行

c.断言有效宏 ASSERT_VALID ASSERT_VALID(<指针>)
  该宏用于检查指针和对象用效性对于般指针只检查指针是否为空对于MFC对象指针CObject::AssertValid成员含数判断对象是否合法
  ASSERT_VALID和ASSERT类似也是使用对话框提示用户指针或对象是无效如果对象有效则不做任何事情.

Tags:  excel的宏的用法 宏的用法 hold常用用法 mfc常用函数

延伸阅读

最新评论

发表评论