避免switch嵌套的一种方法

DWORD nFlags = 0;switch (mouse.nButton){case 0: //左键nFlags = 1;case 1: //右键nFlags = 2;break;case 2: //中间nFlags = 4;break;case 4:nFlags = 8;break;}if (nFlags != 8)SetCursorPos(mouse.ptXY.x, mouse.ptXY.y);switch (mouse.nAction){case 0: //单击nFlags |= 0x10;break;case 1: //双击nFlags |= 0x20;break;case 2: //按下nFlags |= 0x40;break;case 3: //放开nFlags |= 0x80;break;default:break;}switch (nFlags){case 0x21: //左键双击case 0x11: //左键单击break;case 0x41: //左键按下break;case 0x81: //左键放开break;case 0x22:case 0x12:break;case 0x42:break;case 0x82:break;case 0x24:case 0x14:break;case 0x44:break;case 0x84:break;case 0x08:break;}

在第一个switch中设置低位然后再下一个switch设置高位,最后根据不同情况进行选择

避免switch嵌套的一种方法相关推荐

  1. SAP-ABAP三种定义嵌套型结构的方法

    *第一种定义嵌套型结构的方法 DATA: BEGIN OF str1, f_name(4) TYPE c VALUE 'Brad', l_name(4) TYPE c VALUE 'Pitt', EN ...

  2. Python把嵌套的字符串列表转换为整数列表的两种方法

    假设有如下嵌套的字符串列表: testMatrix = [['1', '2', '3'],               ['4', '5', '6'],               ['7', '8' ...

  3. java json转抽象对象_做一次面向对象的体操:将 JSON 字符串转换为嵌套对象的一种方法...

    原标题:做一次面向对象的体操:将 JSON 字符串转换为嵌套对象的一种方法 来源:琴水玉 , www.cnblogs.com/lovesqcc/p/9478678.html 程序员共读整理发布,转载请 ...

  4. C++ 取代switch的三种方法

    一.常规switch enum EnumType {enumOne,enumTwo,enumThree };void showMessage(int type) {switch(type){case ...

  5. java中map嵌套map_java中遍历MAP,嵌套map的几种方法

    java中遍历MAP的几种方法 Map map=new HashMap(); map.put("username", "qq"); map.put(" ...

  6. 嵌入式编程C语言提高代码效率的14种方法

    嵌入式编程C语言提高代码效率的14种方法 1.在可能的情况下使用typedef替代define.当然有时候你无法避免define,但是typedef更好. typedef int* INT_PTR; ...

  7. 比较大小(两种方法)

    题要求将输入的任意3个整数从小到大输出. 输入格式: 输入在一行中给出3个整数,其间以空格分隔. 输出格式: 在一行中将3个整数从小到大输出,其间以"->"相连. 输入样例: ...

  8. 改善C#程序的50种方法

    摘要:为什么程序已经可以正常工作了,我们还要改变它们呢?答案就是我们可以让它们变得更好.我们常常会改变所使用的工具或者语言,因为新的工具或者语言更富生产力.如果固守旧有的习惯,我们将得不到期望的结果. ...

  9. C语言提高代码效率的几种方法

    一段完美的代码不仅在于找到一个给定的问题的解决方案,但在它的简单性,有效性,紧凑性和效率(内存).设计的代码比实际执行更难.因此,每一个程序员当用C语言开发时,都应该保持这些基本的东西在头脑中.本文向 ...

最新文章

  1. 实验测试2SK241的g-s击穿电压
  2. 【实施工程师】MySQL导入大sql 文件大小限制问题的解决
  3. 常见笔试面试问题点(转载)
  4. java pdf stamper_PDFStamper在几个PDF文件上失败(itext 5.5.1)
  5. ECCV 2020 | 超快的车道线检测
  6. Node开发项目管理工具 Grunt 对比 Gulp
  7. c++学习笔记(八)- map
  8. DSP28335的RS232串口通讯试验
  9. 台达b2伺服modbus通讯_台达伺服ASDA-B2使用手册-简体最新.pdf
  10. 怎么使用播放麦克风输入的音频呢
  11. 【python】计算圆周率到任意位支持任意位(速度快)
  12. Python图形界面实现咖啡店点单系统
  13. 安装gms 的拨号盘
  14. 【市场调查与预测】廊坊师范学院大学生洗发水使用情况调查(课程论文)
  15. 企业微信获取corpid,Secret,Agentid
  16. 最新最简便解决 teamviewre检测为商业用途 的方法
  17. 以计算机思维思考当下面向未来,面向未来的核心素养:从运算能力到计算思维...
  18. python3.7通过itchat方式登录微信给好友发送天气信息
  19. 从Hadoop到Spark、Flink,大数据处理框架十年激荡发展史
  20. Build Assetbundle出错:An asset is marked as dont save, but is included in the build

热门文章

  1. vnr光学识别怎么打开_干货|指纹锁的指纹识别模块的前世今生,智能锁的指纹识别到底有多智能?...
  2. datatables隐藏列设置及获取隐藏列的值
  3. 新装的linux系统,用SSH连接出现乱码怎么办?附改名虚拟机文件方法
  4. Javascript 常见使用误区
  5. 2019年最流行的10个前端框架
  6. 修改系统默认路径,如收藏夹、桌面、我的文档
  7. React开发(229):react删除的实现
  8. 前端学习(2968):完善登录页面
  9. [vue] 分析下vue项目本地开发完成后部署到服务器后报404是什么原因呢?
  10. [css] 说说你对低版本IE的盒子模型的理解