开始的时候传消息参数是这样用的:
发送消息:
double dSize;
SendMessage( Hwnd, 自定义消息, 0, dSize );
接收消息函数:
void recieveMessage( WPARAM wParam, LPARAM lParam )
{
double dSize = (double)lParam;
}
结果:在发送消息的时候,dSize的值是正确的,可是接收到消息后,dSize值就是0了。
后来经过看书才知道,消息参数必须要传地址,改成如下代码,结果就对了。
发送消息:
double dSize;
SendMessage( Hwnd, 自定义消息, 0, (LPARAM)&dSize );
接收消息函数:
void recieveMessage( WPARAM wParam, LPARAM lParam )
{
double* dSize = (double*)lParam;
这样用 *dSize取出的值是正确的。
}