zoukankan      html  css  js  c++  java
  • MFC学习记录(位操作)类型判断 D

      在学习MFC源码时经常会有:
      if(style&CS_TYPE)
      {
        //执行
      }
      问:那么if(style
    &CS_TYPE)有何实际意义那?
      答:当style是由CS_TYPE类型系列(CS_TYPE系列类型转换为二进制只有一位为1)位于运算计算结果,则if(style
    &CS_TYPE)判断是style是否含有CS_TYPE类型
      例如: 
    #define CS_TYPE   0x0008//= 0000 1000//即只有一位二进制数据为1
          #define CS_HIDE   0x0010//= 0001 0000
          #define CS_SHOW 0x0020//= 0010 0000
          DWORD style
    = CS_TYPE | CS_HIDE;
          if(style&CS_TYPE);//true
            if(style&CS_HIDE);//true
                     if(style&CS_SHOW);//false

      ----------------------------------------------------------------------------
      //有则剔除无则包含
      style |= CS_SHOW;//此时style含有CS_SHOW(之前没有用CS_SHOW做过按位与运算) 等效于 DWORD style = CS_TYPE | CS_HIDE | CS_SHOW;
      if(style&CS_SHOW);//true
      style |= CS_TYPE;//剔除CS_TYPE属性(之前用CS_TYPE做过按位与运算)
        if(style&CS_TYPE);//false
  • 相关阅读:
    20200917-1 每周例行报告
    20200917-2 词频统计
    20200910-1每周例行报告
    20200910-2 博客作业
    20200910-3 命令行和控制台编程
    第05组 团队Git现场编程实战
    第05组 团队项目-需求分析报告
    团队项目-选题报告
    第二次结对编程作业
    第一次结对编程作业
  • 原文地址:https://www.cnblogs.com/cnarg/p/1958843.html
Copyright © 2011-2022 走看看