//簡潔高效的位操作宏定義
#define BIT_SET(x,n) (x= x|(0x01<<n))
#define BIT_TEST(x,n) ((x&(0x01<<n)) !=0)
#define BIT_CLEAR(x,n) (x= x&~(0x01<<n))
MFC學習記錄--提取16進制表示碼(位操作)
我們在學mfc時經常用到類型(16進制數據)
而且有時候需要從一個混合類型中提取一個類型或刪掉一種類型時就要用到位操作了
例如:
DWORD style = CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW;
1.判斷是否含有一種類型:
if((style&CS_DBLCLKS)==CS_DBLCKS)
{
AfxMessageBox(L"含有CS_DBLCKS類型");
}else {
AfxMessageBox(L"不含有CS_DBLCKS類型");
}
2.去除一種類型:
style &= ~CS_DBLCKS
3.添加一種類型
style |= CS_OWNDC;