#if (_RICHEDIT_VER >= 0x0200)
#ifdef UNICODE
#define CHARFORMAT CHARFORMATW
#else
#define CHARFORMAT CHARFORMATA
#endif // UNICODE 
#else
#define CHARFORMAT CHARFORMATA
#endif // _RICHEDIT_VER >= 0x0200 在afxwin.h 里却又 #define _RICHEDIT_VER 0x0100 导致没办法定义到CHARFORMATW 请问这个问题怎么解决
最好把操作步骤尽量的介绍详细一些,网上有个类似的帖子 但是  不知道怎么加 往哪加 所以还是 编译不过呢~~~谢谢了先

解决方案 »

  1.   

    什么意思?没看明白:你是想自己定义#define _RICHEDIT_VER 0x0100 ????
      

  2.   


    不是 这个#define _RICHEDIT_VER 0x0100 是afxwin.h里写的  也就是Afxwin.h这个头文件把_RICHEDIT_VER 定义为0x0100  所以 Richedit.h 里没办法执行#ifdef _UNICODE后面的东西了~~
      

  3.   

    在afxwin.h 里把_RICHEDIT_VER改成0x0200不就行了
      

  4.   

    直接自己定义#define _RICHEDIT_VER 0x0200
      

  5.   

    你把这个#define _RICHEDIT_VER 0x0200放在#include <afxwin.h>头文件的上面即可
      

  6.   


    这么改 并不能 解决这个问题,因为这好像涉及到使用RICHEDIT控件的1.0版本还是2.0版本还需要加载个dll文件
      

  7.   

    #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers#include <afxwin.h>         // MFC core and standard components  加上下面代码就可以
    #ifdef _RICHEDIT_VER
    #undef _RICHEDIT_VER
    #define _RICHEDIT_VER 0x0300
    #endif#include <afxext.h>         // MFC extensions
    #include <afxdisp.h>        // MFC Automation classes
    #include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls