在运行时,知道宏定义(字符串)所代表的值(运行时,知道变量名称的一种方法)

来源:互联网 发布:双色球算法必中6红下期 编辑:程序博客网 时间:2024/05/24 04:30

#define STYLEITEM(item)  { _T(#item), item }
 static STYLEMAPVALUE map[]=
 {
  STYLEITEM(WS_OVERLAPPED),
  STYLEITEM(WS_POPUP),
  STYLEITEM(WS_CHILD)

}

在预编译的时候,#将item做为了字符串,然后{}中的值item作为了值

 

 

eg:通过ID值获取到对应的宏定义源码字符串

#define STR(x) #x

struct SCT_STR_ID
{
CString strIdName;
DWORD dwIDValue;
};


void OnBnClickedOk()
{

 SCT_STR_ID sct={_T(STR(IDOK)), IDOK};

 if (sct.dwIDValue == IDOK)
 {
       AfxMessageBox(sct.strIdName);
 }
 
}

 


 

 

原创粉丝点击