m_wndStatusBar.ShowWindow((m_wndStatusBar.GetStyle() &WS_VISIBLE) == 0);
这句话中&是什么含义,m_wndStatusBar.GetStyle()&WS_VISIBLE是怎么运算的,得到什么值 谢谢!

解决方案 »

  1.   

    &是按位与操作。
    m_wndStatusBar.GetStyle()&WS_VISIBLE是检测m_wndStatusBar的属性中是否有WS_VISIBLE属性。如果有,则返回值大于0,那么就ShowWindow(false)了。如果没有,则返回值等于0,那么就ShowWindow(true)了。实现了状态条的显示与隐藏功能。
      

  2.   

    m_wndStatusBar.GetStyle()&WS_VISIBLE 具体是怎么进行按位与操作的,3x
      

  3.   

    #define WS_VISIBLE          0x10000000L#define WS_OVERLAPPED       0x00000000L
    #define WS_POPUP            0x80000000L
    #define WS_CHILD            0x40000000L由定义可以看出,控件的属性都是用一个很大的整数表示,每一个属性就是将这个整数的二进制值的某一位置为1,而其余为0,或者全为0。所以,使用&操作时,就可以检测某一位是否为1。
    比如现在属性为0x91000000L,那么和WS_VISIBLE按位与后,就可以得到0x10000000L了。说明这个属性中有WS_VISIBLE属性。