回调函数

本文探讨了回调函数WndProc的使用方法及其参数传递技巧,包括通过结构体指针及字符串相加方式传递参数的具体实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

//多谢黄师兄和王师兄,让我对回调函数有了很清晰的了解

 

SendMessage(WndProc,Msg,wParam,lParam)函数任何函数中都可以调用,WndPrco为指定窗口句柄,可以为当前
    也可以自己获得,Msg为消息类型,回调函数WndProc根据消息类型判断要进行何种动作,wParam,lParam为两
 个参数变量,只有这两个是用户自己定义的,用来在回调函数中定义对于不同消息的响应,如果有多个参数
 需要传递,可以考虑使用结构体指针,一般lParam会作为结构体指针,在使用结构体指针是要记得在回调函数
 中将其还原,并进行响应赋值。并且在调用SendMessage(WndProc,Msg,wParam,lParam)中将结构体指针强制
 转换为wParam类型。回调函数是可以由自身来调用的。

 

 

 

//补

 

今天上午看到师兄用另一种方法实现了相同的功能,觉得他的代码实现要比结构体指针更好。

 

采用字符串相加方式作为传入参数,然后在消息处理函数中分别读取各个字符串值,即此时分别获取需要的参数。WORD和HIWORD这两个函数分别获得前四个字节跟后四个字节的值,这样传递两个参数的时候就可以顺利传递。只是需要在消息处理函数中分别处理。

 

这样实现的代码更加美观,不过个人感觉语义不是太清晰

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值