在Windows的消息函数中,有两个非常熟悉的参数:wParam,lParam. 这两个参数的字面意义对于现在的程序来说已经不重要了,因为它是16位系统的产物,为了保持程序的可移植性,就将它保存了下来. 它的字面意义,w表示word,l表示long,对于32为系统来说,分别是无符号整数(unsigned int)和长整型(long),都是32位整数.所以,根据具体的消息解析参数即可,不用在乎其字面意义了. 下面是Windows的定义 /* Types use for passing & retu…
在微软vc提供的头文件中有定义在winnt.h中typedef long LONG;在windef.h中typedef LONG LRESULT; 所以LRESULT就是long,也就是长整形之所以取名类LRESULT,L=>longresult表示结果,说明这个函数的返回值是某个结果仅此而已 WPARAM 和 LPARAM,消息响应机制wParam和lParam 这两个是Win16系统遗留下来的产物,在Win16API中WndProc有两个参数: 一个是WORD类型的16位整型变量:另一个是L…
  http://chujiaba.blog.163.com/blog/static/18991813720106209350592/ 2010-07-20 21:35:00|  分类: C |  标签: |举报 |字号大中小 订阅 1.传两个参数(1)#define WM_FREE_USERLINE WM_USER+102(2)CWnd *view=(CWnd *)m_wndList->GetParent();   view->SendMessage(WM_FREE_USERLINE,1,(…
写Windows程序不可避免要使用自定义的消息,也就是从WM_USER开始定义的消息.在定义一个消息后,往往我们还要定义针对该消息的WPARAM甚至是LPARAM.WPARAM和LPARAM是什么,可以参考MSDN的SendMessage或者WindowProc.归结成一点就是对应消息的额外附带信息. 从我个人的经历来看,当定义了一个消息并且还需要定义额外的附加信息时,往往该附加信息会被先定义到WPARAM上.为什么?很简单,因为SendMessage(HWND, UINT, WPARAM, L…
WPARAM 和 LPARAM wParam和lParam 这两个是Win16系统遗留下来的产物,在Win16API中WndProc有两个参数:一个是WORD类型的16位整型变量:另一个是LONG类型的32位整型变量. 因此根据匈牙利命名法,16位的变量就被命名为wParam, 32位的变量就被命名为lParam. 而到了Win32API中,原来的16位变量也被扩展为32位,因此此时wParam和lParam的大小完全相同. 区别及习惯用法: MS在使用时两种参数分别代表不同的含义和内容,WPA…
procedure TWinControl.DefaultHandler(var Message); begin then begin with TMessage(Message) do begin if (Msg = WM_CONTEXTMENU) and (Parent <> nil) then begin Result := Parent.Perform(Msg, WParam, LParam); then Exit; end; case Msg of WM_CTLCOLORMSGBOX…
wParam与lParam的区别 lParam 和 wParam 是宏定义,一般在消息函数中带这两个类型的参数,通常用来存储窗口消息的参数. LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);wParam 通常用来存储小段信息,如,标志lParam 通常用于存储消息所需的对象LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM…
lParam 和 wParam 是宏定义,一般在消息函数中带这两个类型的参数,通常用来存储窗口消息的参数. LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); wParam 通常用来存储小段信息,如,标志 lParam 通常用于存储消息所需的对象 LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM…
关于inflate参数问题,我想很多人多多少少都了解一点,网上也有很多关于这方面介绍的文章,但是枯燥的理论或者翻译让很多小伙伴看完之后还是一脸懵逼,so,我今天想通过三个案例来让小伙伴彻底的搞清楚这个东东.本篇博客我们不讲源码,只看使用.源码的解读会在下一篇博文中带来. inflate方法从大范围来看,分两种,三个参数的构造方法和两个参数的构造方法.在这两类中又有细分,OK,那我们就把各种情况都来演示一遍. 1.三个参数的inflate方法 方法头如下: public View inflate(…
关于inflate参数问题,我想很多人多多少少都了解一点,网上也有很多关于这方面介绍的文章,但是枯燥的理论或者翻译让很多小伙伴看完之后还是一脸懵逼,so,我今天想通过三个案例来让小伙伴彻底的搞清楚这个东东.本篇博客我们不讲源码,只看使用.源码的解读会在下一篇博文中带来. inflate方法从大范围来看,分两种,三个参数的构造方法和两个参数的构造方法.在这两类中又有细分,OK,那我们就把各种情况都来演示一遍. 1.三个参数的inflate方法 方法头如下: public View inflate(…