//多谢黄师兄和王师兄,让我对回调函数有了很清晰的了解
SendMessage(WndProc,Msg,wParam,lParam)函数任何函数中都可以调用,WndPrco为指定窗口句柄,可以为当前
也可以自己获得,Msg为消息类型,回调函数WndProc根据消息类型判断要进行何种动作,wParam,lParam为两
个参数变量,只有这两个是用户自己定义的,用来在回调函数中定义对于不同消息的响应,如果有多个参数
需要传递,可以考虑使用结构体指针,一般lParam会作为结构体指针,在使用结构体指针是要记得在回调函数
中将其还原,并进行响应赋值。并且在调用SendMessage(WndProc,Msg,wParam,lParam)中将结构体指针强制
转换为wParam类型。回调函数是可以由自身来调用的。
//补
今天上午看到师兄用另一种方法实现了相同的功能,觉得他的代码实现要比结构体指针更好。
采用字符串相加方式作为传入参数,然后在消息处理函数中分别读取各个字符串值,即此时分别获取需要的参数。WORD和HIWORD这两个函数分别获得前四个字节跟后四个字节的值,这样传递两个参数的时候就可以顺利传递。只是需要在消息处理函数中分别处理。
这样实现的代码更加美观,不过个人感觉语义不是太清晰