180113 逆向-Windows消息机制(控件消息)

1625-5 王子昂 总结《2018年1月13日》 【连续第470天总结】
A. Windows消息系统-控件消息
B.

控件

Windows操作系统事先注册好了很多窗口类,即控件。例如STATIC静态文本控件、BUTTON按钮控件、COMBOBOX组合框、EDIT文本框、LISTBOX列表控件等等
用户可以利用已经注册好的类来创建这些控件。但是这些控件只能作为子窗口存在,无法单独存在。

控件的创建主要通过CreateWindow函数,摆放位置由第4、5个参数来决定
相对C#、VB等拥有图形化编辑窗口的工具而言,MFC要显得累赘许多:每个控件都需要计算、规划坐标

设置控件

由于控件实际上都是窗口对象,因此都有Windows预定义好的窗口过程函数,可以响应并处理消息
也可以通过SetWindowLong函数将控件的窗口过程函数设定为自定义的窗口过程函数

控件的设置都是通过消息来操作的
例如向COMBOBOX列表中添加数据项需要使用函数

SendMessage(hCtlWnd, CB_ADDSTRING, 0, string);

同样,设置默认选中项也需要发送消息,只是message为CB_SETCURSEL

控件消息

控件的窗口过程函数还可以接收鼠标或键盘的消息,将它们转化为WM_COMMAND消息并投递到父窗口的消息队列中,并将控件ID赋值给wParam的低16位来区分控件,将当前执行的操作代码赋值给wParam的高16位,将控件句柄赋值给lParam参数

通过这些消息,父窗口的过程函数就可以处理诸如按钮点击、文本框改变等事件了

C. 明日计划
考试~看书

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值