⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_15554.htm

📁 一些关于vc的问答
💻 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>....&nbsp;&nbsp; <BR>&nbsp;&nbsp; int testint; <BR>&nbsp;&nbsp; SendMessage(WM_MYMSG,0,(LPARAM)testint);<BR>.....<BR>}<BR>void mymsgfun(WPARAM wParam,LPARAM lParam)<BR>//WM_MYMSG对应的函数<BR>{<BR>&nbsp;&nbsp;int myint=(int)lParam;<BR>&nbsp;&nbsp; ........<BR>}<BR><BR>//结构的情况:<BR>void myfun()<BR>{<BR>....&nbsp;&nbsp; <BR>&nbsp;&nbsp; mystruct teststruct; <BR>&nbsp;&nbsp; SendMessage(WM_MYMSG,0,(LPARAM)&teststruct);<BR>.....<BR>}<BR>void mymsgfun(WPARAM wParam,LPARAM lParam)<BR>//WM_MYMSG对应的函数<BR>{<BR>&nbsp;&nbsp; mystruct *struct1=(mystruct *)lParam;<BR>&nbsp;&nbsp; ........<BR>}<BR>&nbsp;&nbsp; <BR>//类的情况:<BR>void myfun()<BR>{<BR>....&nbsp;&nbsp; <BR>&nbsp;&nbsp; myclass testclass; <BR>&nbsp;&nbsp; SendMessage(WM_MYMSG,0,(LPARAM)&testclass);<BR>.....<BR>}<BR>void mymsgfun(WPARAM wParam,LPARAM lParam)<BR> //WM_MYMSG对应的函数<BR>{<BR>&nbsp;&nbsp; myclass *class1=(myclass *)lParam;<BR>&nbsp;&nbsp; ........<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>....&nbsp;&nbsp; <BR>&nbsp;&nbsp; int testint; <BR>&nbsp;&nbsp; SendMessage(WM_MYMSG,0,testint);<BR>.....<BR>}<BR>void mymsgfun(WPARAM wParam,LPARAM lParam)<BR>//WM_MYMSG对应的函数<BR>{<BR>&nbsp;&nbsp;int myint=(int)lParam;<BR>&nbsp;&nbsp; ........<BR>}<BR><BR>//结构的情况:<BR>void myfun()<BR>{<BR>....&nbsp;&nbsp; <BR>&nbsp;&nbsp; mystruct teststruct; <BR>&nbsp;&nbsp; SendMessage(WM_MYMSG,(wParam)&teststruct,0);<BR>.....<BR>}<BR>void mymsgfun(WPARAM wParam,LPARAM lParam)<BR>//WM_MYMSG对应的函数<BR>{<BR>&nbsp;&nbsp; mystruct *struct1=(mystruct *)wParam;<BR>&nbsp;&nbsp; ........<BR>}<BR>&nbsp;&nbsp; <BR>//类的情况:<BR>void myfun()<BR>{<BR>....&nbsp;&nbsp; <BR>&nbsp;&nbsp; myclass testclass; <BR>&nbsp;&nbsp; SendMessage(WM_MYMSG,(wParam)&testclass,0);<BR>.....<BR>}<BR>void mymsgfun(WPARAM wParam,LPARAM lParam)<BR>//WM_MYMSG对应的函数<BR>{<BR>&nbsp;&nbsp; myclass *class1=(myclass *)wParam;<BR>&nbsp;&nbsp; ........<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 + -