MAKEWPARAM 宏 及MAKELONG ,MAKELPARAM,MAKELRESULT
The WM_COMMAND message is sent when the user selects a command item from a menu, when a control sends a notification message to its parent window, or when an accelerator keystroke is translated. WM_COMMAND消息在三种情况下被发送: 1.用户选择一个菜单项 2.控件向自己的父窗口发送通知消息 3.加速键被按下三种情况对应的wParam和lParam参数用法如下(MSDN):
Message Source wParam (high word) wParam (low word) lParam
Menu 0 Menu identifier (IDM_*) 0
Accelerator 1 Accelerator identifier (IDM_*) 0
Control Control-defined notification code Control identifier Handle to the control window
注意一下wParam参数,被分为高字和低字,那当我们需要自己send WM_COMMAND 消息时,怎样来制作wParam参数呢?可以使用MAKEWPARAM宏,下面是我项目中的一句代码: SendMessage(WM_COMMAND,MAKEWPARAM(IDC_BUTTON_AMEND,BN_CLICKED),(LPARAM)listview->m_btnAmend.m_hWnd); //发送一个按钮单击消息。
类似的宏还有: MAKELONG 制作一个长整型的参数
MAKELPARAM 制作一个lParam参数
MAKELRESULT 制作一个从窗口程序或者回调函数返回的32位值
MAKEWPARAM 宏 及MAKELONG ,MAKELPARAM,MAKELRESULT相关推荐
- MFC和c#中模拟对另一进程的窗口按钮点击
1. 在自动化测试中经常要模拟窗口按钮的点击. 参考文章:http://blog.csdn.net/blackboyofsnp/article/details/3372719 有时我们需要这么做, 手 ...
- 必备绝技--Hook大法(上)
必备绝技--Hook大法 标 题: [原创]必备绝技--Hook大法( 上 ) 作 者: Lvg 时 间: 2007-04-08,22:23 链 接: http://bbs.pediy.com/sho ...
- Windows xp下IDT Hook和GDT的学习
一.前言 对于IDT第一次的认知是int 2e ,在系统调用的时候原来R3进入R0的方式就是通过int 2e自陷进入内核,然后进入KiSystemService函数,在根据系统服务调用号调用系统服 ...
- 6.7 【实例】窗口查看器
6.7.1 窗口界面 程序06WinLooker中包含4个类,CMyApp(应用程序类).CMainWindow(主窗口类).CWindowInfo(管理目标窗口的类)和CMyButton(按钮类). ...
- 《Windows 程序设计(第3版)》——6.7 【实例】窗口查看器
本节书摘来自异步社区<Windows 程序设计(第3版)>一书中的第6章,第6.7节,作者:王艳平 , 张铮著,更多章节内容可以访问云栖社区"异步社区"公众号查看 6. ...
- VC中的宏 (#define) 与预处理 (#if/#ifdef/#pragma) 的使用方法总结。
C/C++ 预定义宏 例子:C/C++ 预定义宏的取值 C/C++ 预定义宏用途:诊断与调试输出 CRT 的诊断与调试输出:assert, _ASSERT/_ASSERTE, _RPTn/_RPTFn ...
- BYTE,WORD,DWORD的大小及一些特殊的高低位宏(取高位 取低位)
一.定义 在VC6.0的Microsoft Visual Studio/VC98/Include/windef.h 里,定义了BYTE,WORD,DWORD typedef unsigned long ...
- MAKEWORD、HIWORD、LOWORD 宏定义
MAKEWORD 宏定义 typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned long DWORD; t ...
- C++ 笔记(32)— 预处理、文件包含include、宏替换define、条件包含ifndef、define
C/C++预处理器在源代码编译之前对其进行一些文本性质的操作. 它的主要任务包括删除注释 . 插入 #include 指令包含的文件的内容 . 定义和替换由 #defme 指令定义的符号以及确定代码的 ...
最新文章
- 生活实遇记-Kindle好久没用,屏幕一直处于电池状态,怎么解决?
- 【代码笔记】iOS-在导航栏中显示等待对话框
- mysql 辅助索引_MySQL InnoDB B+tree索引
- vue-awesome-swiper 的使用
- xml语言与html,XML与HTML的分析处理
- mysql 内存溢出_mysql - MySQL在非常大的表上计算性能 - 堆栈内存溢出
- 软件工程---4.需求工程
- 总结Python的几点语言特性
- This关键字的一些更新的理解
- 基于springboot+vue的大学生健康档案管理系统
- 小米路由插件二维码2020_路由器如何禁止抖音、斗鱼、王者荣耀等app联网
- shell 脚本返回上级目录_cmd返回上级目录
- python QQ自动添加好友
- wps建立的文件后缀名为docx,写在里面的东西还不允许保存
- node js 生成视频链接(视频流)
- 用友云实名认证,了解一下
- 360oauth token是什么意思_币圈token是什么意思?
- 计算机论文选题背景,毕业设计选题背景意义.docx
- 在ie6下实现position-fixed的效果
- phalapi可以依赖注入么_PhalApi:[2.11] 核心思想:DI依赖注入 让资源更可控
热门文章
- php中静态方法有什么作用,PHP中的静态方法与非静态方法有什么不同吗?
- Qt高级——QTestLib单元测试框架
- 抽象工厂模式(JAVA反射)
- 理解一条语句:SELECT difference(sum(value)) FROM mq_enqueue WHERE channel =~ /ActiveMQ_TEST/ AND $tim...
- 报错 findMergedAnnotation activemq
- html实现3d视觉特效
- Redis源码解析:07压缩列表
- Eclipse打JAR包引用的第三方JAR包找不到 问题解决
- SQL Server 2005查询处理结构-用户模式计划(UMS)
- Android 系统自带 Theme(主题)