初学MFC (一)

 句柄 (HANDLE

 

窗口句柄---HWND    窗口是通过窗口句柄(HWND标识的

图标句柄---HICON

光标句柄---HCURSOR

画刷句柄---HBRUSH

 

windows程序中,消息是由MSG结构体来表示的,MSG结构体的定义如下:

 

Typedef  struct  tagMSG     {

     HWND   hwnd            成员变量hwnd表示消息所属的窗口。

     UINT     message;         成员变量message指定了消息的标识符。

     WPARAM wParam;          成员变量wParamlParam,用于指定消息的附加信息。

     LPARAM  lParam;   (例:当我们收到一个字符消息的时候,message成员变量的值就是WM_CHAR)

     DWORD  time;             表示消息投递到消息队列中的时间。

     POINT    pt;               表示鼠标的当前位置。

 } MSG;

 

第一个成员变量hwnd表示消息所属的窗口。我们通常开发的程序都是窗口应用程序,一个消息一般都是与某个窗口相关联的。例如,在某个活动窗口中按下鼠标左键,产生的按键消息就是发给该窗口的。在Windows程序中,用HWND类型的变量来标识窗口。

 

第二个成员变量message指定了消息的标识符。在Windows中,消息是由一个数值来表示的,不同的消息对应不同的数值。但是由于数值不便于记忆,所以Windows将消息对应的数值定义为WM_XXX宏(WMWindow Message的缩写)的形式,XXX对应某种消息的英文拼写的大写形式。例如,鼠标左键按下消息是WM_LBUTTONDOWN,键盘按下消息是WM_KEYDOWN,字符消息是WM_CHAR,等等。在程序中我们通常都是以WM_XXX宏的形式来使用消息的。

提示:如果想知道WM_XXX消息对应的具体数值,可以在Visual C++开发环境中选中WM_XXX,然后单击鼠标右键,在弹出菜单中选择goto definition,即可看到该宏的具体定义。跟踪或查看某个变量的定义,都可以使用这个方法。

 

第三、第四个成员变量wParamlParam,用于指定消息的附加信息。例如,当我们收到一个字符消息的时候,message成员变量的值就是WM_CHAR但用户到底输入的是什么字符,那么就由wParamlParam来说明wParamlParam表示的信息随消息的不同而不同。读者可以在VC++的开发环境中通过goto definition查看一下WPARAMLPARAM这两种类型的定义,可以发现这两种类型实际上就是unsigned intlong

 

最后两个变量分别表示消息投递到消息队列中的时间鼠标的当前位置

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值