当前位置: 首页 > news >正文

100款禁用网站/2023年第三波疫情9月

100款禁用网站,2023年第三波疫情9月,建设厅证书查询,怎么把图片做超链接到网站书籍:《Visual C 2017从入门到精通》的2.3.8 Win32控件编程 环境:visual studio 2022 内容:【例2.29】模拟对话框 说明:以下内容大部分来自腾讯元宝。 ​1. 基本概念与作用 LOWORD 和 HIWORD 是 Windows API 中用于分解 32 位…

书籍:《Visual C++ 2017从入门到精通》的2.3.8 Win32控件编程

环境:visual studio 2022

内容:【例2.29】模拟对话框

说明:以下内容大部分来自腾讯元宝。

1. 基本概念与作用

LOWORD 和 HIWORD 是 Windows API 中用于分解 32 位参数的宏,主要用于解析 wParam 或 lParam 的高低 16 位数据。其核心功能包括:

  • 数据拆分:将 32 位整数拆分为低 16 位(LOWORD)和高 16 位(HIWORD),便于分别处理不同部分的信息。
  • 消息解析:在 Windows 消息处理中,wParam 和 lParam 常携带复合信息,通过这两个宏可快速提取关键参数(如控件 ID、通知码、坐标等)。

2. 宏定义与实现

  • LOWORD
    宏定义:

    #define LOWORD(l) ((WORD)(l)) 

    作用:提取 l 的低 16 位(即右边的 16 位),结果为 WORD 类型(0~65535)。

    示例:若 wParam = 0x12345678,则 LOWORD(wParam) = 0x5678
  • HIWORD
    宏定义:

    #define HIWORD(l) ((WORD)(((DWORD)(l) >> 16) & 0xFFFF)) 

    作用:提取 l 的高 16 位(即左边的 16 位),结果为 WORD 类型。

    示例:若 wParam = 0x12345678,则 HIWORD(wParam) = 0x1234

3. 在消息处理中的应用

Windows 消息(如 WM_COMMANDWM_MOUSEWHEEL 等)的 wParam 和 lParam 常通过这两个宏传递复合信息,典型场景包括:

  1. ​**WM_COMMAND 消息**

    • LOWORD(wParam):控件 ID(如按钮、菜单项的标识符)。
    • HIWORD(wParam):通知码(标识具体事件类型,如按钮点击 BN_CLICKED)。
      示例
    case WM_COMMAND:if (LOWORD(wParam) == IDOK) { // 按钮 ID 为 IDOKif (HIWORD(wParam) == BN_CLICKED) { // 通知码为点击事件// 处理确定按钮点击}}break;
  2. ​**WM_MOUSEWHEEL 消息**

    • LOWORD(wParam):指示鼠标键及组合键状态(如 MK_CONTROL)。
    • HIWORD(wParam):滚轮滚动量(120 表示向上滚动一行)。
      示例
    case WM_MOUSEWHEEL:int zDelta = HIWORD(wParam); // 获取滚动量if (LOWORD(wParam) & MK_CONTROL) { // 检测是否按住 Ctrl 键// 按住 Ctrl 时的特殊处理}break;
  3. 滚动条消息(WM_VSCROLL/WM_HSCROLL)​

    • LOWORD(wParam):滚动操作类型(如 SB_THUMBTRACK 表示拖动滑块)。
    • HIWORD(wParam):附加参数(如滚动步长)。

4. 典型应用场景

  1. 控件事件处理
    通过 LOWORD 和 HIWORD 快速定位控件 ID 和事件类型,避免手动位运算。

    case WM_COMMAND:if (HIWORD(wParam) == BN_CLICKED) {switch (LOWORD(wParam)) {case IDC_BUTTON1: // 处理按钮1点击break;case IDC_BUTTON2: // 处理按钮2点击break;}}break;
  2. 坐标解析
    在鼠标消息(如 WM_LBUTTONDOWN)中,lParam 包含坐标信息,需通过 LOWORD 和 HIWORD 分离:

    case WM_LBUTTONDOWN:int x = LOWORD(lParam); // 客户区 X 坐标int y = HIWORD(lParam); // 客户区 Y 坐标break;
  3. 菜单与加速键

    • 菜单消息LOWORD(wParam) 为菜单项 ID,HIWORD 为选择标识。
    • 加速键LOWORD(wParam) 为加速键 ID,HIWORD 为标志(如 1 表示加速键)。

5. 注意事项

  • 数据范围LOWORD 和 HIWORD 的结果均为 WORD 类型(0~65535),超出范围会导致截断。
  • 跨平台兼容性:这两个宏是 Windows 特有实现,移植到其他系统需自行实现类似逻辑。
  • 消息类型差异:不同消息的 wParam 和 lParam 含义不同,需结合具体消息类型解析。

总结

LOWORD 和 HIWORD 是 Windows 编程中解析消息参数的核心工具,通过拆分 32 位数据简化了控件交互、事件处理等场景的逻辑。开发者需根据具体消息类型,合理利用这两个宏提取关键信息,同时注意数据范围和跨平台限制。

http://www.whsansanxincailiao.cn/news/30241956.html

相关文章:

  • seo搜索引擎优化师/青岛seo招聘
  • 网站怎么屏蔽ip访问/百度快照优化排名推广怎么做
  • 网站建设网络推广最低价格/优化网站内容的方法
  • 蓝色科技企业网站模板免费下载/今日国际新闻摘抄
  • wordpress网站怎样/百度网址大全下载安装
  • 做简单网站需要学什么软件/微信营销是什么
  • 网站开发流程分析/适合交换友情链接的是
  • 企业建网站计什么科目/如何做营销
  • 浦江县建设局网站/12月10日新闻
  • 网页制作设计公司排名/福州seo公司排名
  • 做展示网站要恋用什么程序/厦门百度推广排名优化
  • php网站留言板模板下载/郑州有没有厉害的seo
  • 网站报错404/成都网站推广
  • 做网站的教学视频/国内免费发布产品的平台
  • 一千元做网站/企业网站seo服务
  • 齐诺网站建设东莞网站建设做网站/流量网站
  • 国贸附近网站建设/视频网站推广
  • pc网站开发成app难度/html网页制作模板
  • 网站所有分类中 点击箭头不出现下拉菜单/中国进入一级战备状态了吗
  • 做网站是html好还是java好/进入百度搜索网站
  • 网站制作常见问题/郑州网站优化顾问
  • 揭阳城乡建设局网站/seo手机关键词网址
  • 网络网站制作技巧/百度搜索引擎网址格式
  • 中宁网站建设/seo搜索优化培训
  • 建设厅网站关于建筑资质合并/合肥seo报价
  • 自做网站多少钱/seo是什么职务
  • 焦作建设厅网站/如何查询百度收录
  • 深圳做网站的大公司/好的营销网站设计公司
  • ppt中仿网站链接怎么做/谷歌seo外链平台
  • 阿里云做网站可以免备案吗/公众号软文推广