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 指令定义的符号以及确定代码的 ...
最新文章
- Matlab编程与数据类型 -- 出错处理语句try/catch/end
- 关于软件质量(2)- 开发 vs 测试
- C# delegate与event,委托与事件
- 你的存在,就是打我脸的
- 【spark系列3】spark开发简单指南
- iOS平台上的音视频即时通讯应用开发
- 基于安卓系统的服药监督系统(一)——可行性研究报告
- 软件著作权申请注意事项(微信小程序)
- 使用KXML解析xml数据
- 数据结构总结(线性结构,树型结构,图型结构,顺序结构,链式结构)
- css设置内外边距,css内外边距属性
- LaTeX技巧353:图片标题的字体大小怎么设定呢?
- oracle虚拟机安装苹果,虚拟机中如何安装MAC OS系统?虚拟机安装苹果系统教程
- 域名邮箱什么,如何开通自定义邮箱后缀的邮箱?
- element的el-table-column循环渲染和自定义列
- left join、right join、full join、inner join区别
- 模拟真人浏览网页-浏览器自动滚动-超简单方法
- 数据结构期末复习线性表(2)
- Win8快捷键收藏,效率党必备!珍惜生命者必备!
- 随机变量-离散-连续-假设检验方法
热门文章
- mysql删除以什么开头的数据_Mysql如何删除以“#sql-”开头的临时表
- 退格键删除input中光标指定的字符串_Linux中的vi 三种模式
- readyboost提升明显吗_iphone12promax参数对比11ProMax区别 性能提升多少
- 2019-11-18 惯性环节对脉冲的响应曲线怎么画是正确的
- CentOS7安装配置redis5.0.5
- ACM试题 - 括号配对问题 - Java中字符串截取和定位问题
- android 学习过程中登陆失效的个人理解
- javascript 中的各种width,height属性整理
- C# 深入浅出 委托与事件
- 如何打开.etl文件?