用一个参数判断多个值是不是有效具体是怎样做的

用一个参数判断多个值是否有效具体是怎样做的
例如

CStatic myStatic;

// Create a child static control that centers its text horizontally.
myStatic.Create(_T("my static"), WS_CHILD|WS_VISIBLE|SS_CENTER, 
  CRect(10,10,150,50), pParentWnd);


像 WS_CHILD|WS_VISIBLE|SS_CENTER 这样的用或运算符表达多个有效值

我想到的是移位取出每位的值然后用switch判断?貌似挺烦的
求份实例代码

------解决方案--------------------
探讨
我是想知道ms是怎样实现的,是否好像我那样写的

------解决方案--------------------
每个属性都是特定位 1 其他位是 0。将任意一个数字与这个属性标志进行与预算,结果只有两种可能:0 或者还是这个标志位。就是说,我不管你是多少位,除了要验证的位以外,其他的位都与我无关。
要验证的位为 1,其他的不管:
...00101010010101000111...
...00000000010000000000...
--------------------------
...00000000010000000000...
要验证的位为 0,其他的无视:
...00101011100101110111...
...00000000010000000000...
--------------------------
...00000000000000000000...
因为其他位无论是多少,结果都是 0。所以只要将标志与要判断的标志位与运算结果是非零就表示该标志位已设置。