关于消息传递的变量 Wparam和Lparam的类型 我自定义一个消息类型TMyMessage其中Wparam和Lparam的类型必须为DWORD吗?定义成String行不行? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Wparam和Lparam的类型必须为DWORD.其他类型不行,其他类型只能那个类型强制转换。但是类型强制转换后小心出问题(不一定出问题,但是可能出问题) 不行吧,widows消息机制基本类型限制,看看深入VCL这本书,大概我忘记了 因为有四个字节就足够了,它可以定义指针,指向任何类型的数据。wParam在16位的环境下是2个字节,本来是Word类型,因此用w做前缀lParam在16位的环境下是4个字节,本来是long类型,因此用l做前缀现在都是32位的环境了,所以两个参数都变成了四个字节,而因为习惯问题,这两个参数名没有变参数是Windows系统中定义好的结构中的数据,是约定的规范,因此不能改,但是你可以用PString类型来强转成lParam,因为它是指针,也是四个字节。 如何将16进制形式的字符串转换成BYTE数组???? 为什么在DLL里面使用CreateComObject就异常? 合计条件"sum(进货数量) as 进仓数量"为何出错?? ★送分问题★fastREPORT做的报表如何设设置表格线??????? PETS-3 笔试口试全过了,散分 :) 如何实现:点击一个按钮,同时执行多个dos程序(比如同时执行ping和dir) 这样的功能是怎么实现的? 两条sql 语句的区别?(大家帮忙过来看一下) delphi 中异常问题? DELPHI7的调试 求SQL语包 关于 delphi7.0的帮助
其他类型不行,其他类型只能那个类型强制转换。
但是类型强制转换后小心出问题(不一定出问题,但是可能出问题)
wParam在16位的环境下是2个字节,本来是Word类型,因此用w做前缀
lParam在16位的环境下是4个字节,本来是long类型,因此用l做前缀
现在都是32位的环境了,所以两个参数都变成了四个字节,而因为习惯问题,这两个参数名没有变
参数是Windows系统中定义好的结构中的数据,是约定的规范,因此不能改,但是你可以用PString类型来强转成lParam,因为它是指针,也是四个字节。