📄 subject_15554.htm
字号:
<p>
序号:15554 发表者:lyw 发表日期:2002-09-19 11:33:16
<br>主题:一个关于WPARAM,LPARAM的问题?
<br>内容:在SendMessage()中的参数WPARAM,LPARAM是不是可以是任何类型的数据?比如我有个变量var,不管它是什么类型,是不是都可以<BR>这样把它进行传递(WPARAM)var,(LPARAM)var?<BR>还有如果我要传递的是一个结构或类,有该怎么转换呢,难道也<BR>可以用(WPARAM)struct,(LPARAM)class?<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:tom 回复日期:2002-09-19 11:51:35
<br>内容:我理解他们是一个指针,不能这样强制转换,但是你可以利用它们指向你的结构或类。<BR>也就是到指针所指的地方去取得你要传递的东西。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:d0elz 回复日期:2002-09-19 11:53:31
<br>内容:在WIN32下,WPARAM,LPARAM是32bit,传递小于32bit的值时要使用指针。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:lyw 回复日期:2002-09-19 16:23:39
<br>内容:举几个例子.<BR>比如int,double,struct(结构),class(类)的传递<BR>不知下面的传递是否正确?<BR>//整形(int)的情况:<BR>void myfun()<BR>{<BR>.... <BR> int testint; <BR> SendMessage(WM_MYMSG,0,(LPARAM)testint);<BR>.....<BR>}<BR>void mymsgfun(WPARAM wParam,LPARAM lParam)<BR>//WM_MYMSG对应的函数<BR>{<BR> int myint=(int)lParam;<BR> ........<BR>}<BR><BR>//结构的情况:<BR>void myfun()<BR>{<BR>.... <BR> mystruct teststruct; <BR> SendMessage(WM_MYMSG,0,(LPARAM)&teststruct);<BR>.....<BR>}<BR>void mymsgfun(WPARAM wParam,LPARAM lParam)<BR>//WM_MYMSG对应的函数<BR>{<BR> mystruct *struct1=(mystruct *)lParam;<BR> ........<BR>}<BR> <BR>//类的情况:<BR>void myfun()<BR>{<BR>.... <BR> myclass testclass; <BR> SendMessage(WM_MYMSG,0,(LPARAM)&testclass);<BR>.....<BR>}<BR>void mymsgfun(WPARAM wParam,LPARAM lParam)<BR> //WM_MYMSG对应的函数<BR>{<BR> myclass *class1=(myclass *)lParam;<BR> ........<BR>}<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:lyw 回复日期:2002-09-20 09:31:05
<br>内容:我试了一下,上面的转换不能得到正确的结果,请问问题出在哪儿?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:小戟 回复日期:2002-09-20 09:38:17
<br>内容://整形(int)的情况:<BR>void myfun()<BR>{<BR>.... <BR> int testint; <BR> SendMessage(WM_MYMSG,0,testint);<BR>.....<BR>}<BR>void mymsgfun(WPARAM wParam,LPARAM lParam)<BR>//WM_MYMSG对应的函数<BR>{<BR> int myint=(int)lParam;<BR> ........<BR>}<BR><BR>//结构的情况:<BR>void myfun()<BR>{<BR>.... <BR> mystruct teststruct; <BR> SendMessage(WM_MYMSG,(wParam)&teststruct,0);<BR>.....<BR>}<BR>void mymsgfun(WPARAM wParam,LPARAM lParam)<BR>//WM_MYMSG对应的函数<BR>{<BR> mystruct *struct1=(mystruct *)wParam;<BR> ........<BR>}<BR> <BR>//类的情况:<BR>void myfun()<BR>{<BR>.... <BR> myclass testclass; <BR> SendMessage(WM_MYMSG,(wParam)&testclass,0);<BR>.....<BR>}<BR>void mymsgfun(WPARAM wParam,LPARAM lParam)<BR>//WM_MYMSG对应的函数<BR>{<BR> myclass *class1=(myclass *)wParam;<BR> ........<BR>}<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:lyw 回复日期:2002-09-23 08:59:09
<br>内容:谢谢,不过为什么在传递结构和类时一定要用WPARAM,而不能用<BR>LPARAM呢?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -