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

📄 subject_63918.htm

📁 vc
💻 HTM
字号:
<p>
序号:63918 发表者:alang 发表日期:2003-12-07 17:24:26
<br>主题:为什么发送消息不能发送CString字符串的啊
<br>内容:看我的代码:<BR>我在一个对话框向父窗口发送字符串:<BR>void CXilieSelectDlg::OnOK() <BR>{<BR>&nbsp;&nbsp;CString str=&#34;My Message&#34;;<BR>&nbsp;&nbsp;GetParent()-&gt;PostMessage(WM_MY_XILIEDLG,0,(LPARAM)(LPCTSTR)str);<BR>}<BR>父窗口成功接收到消息<BR>LRESULT CSXBaohuoDlg::OnMyXilieDlg(WPARAM wParam,LPARAM lParam)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CString str=(LPCTSTR)lParam;<BR>&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(str);<BR>&nbsp;&nbsp;&nbsp;&nbsp;return 0;<BR>}<BR>为什么str是“葺葺葺葺葺葺@”莫名其妙的东西出来?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:浩公 回复日期:2003-12-07 17:44:38
<br>内容:你这句 CString str=&#34;My Message&#34; 定义了一个临时的变量 str<BR>这个值在函数结束时已经无效了。所以收到的是乱码。<BR><BR>可以改为 <BR>void CXilieSelectDlg::OnOK() <BR>{<BR>&nbsp;&nbsp;char * psz = new char[128] ;<BR>&nbsp;&nbsp;ZeroMemory(psz, sizeof(psz)) ;<BR>&nbsp;&nbsp;strcpy(psz, &#34;My Message&#34;) ;<BR>&nbsp;&nbsp;GetParent()-&gt;PostMessage(WM_MY_XILIEDLG,0,(LPARAM)(LPCTSTR)str);<BR>}<BR>父窗口成功接收到消息<BR>LRESULT CSXBaohuoDlg::OnMyXilieDlg(WPARAM wParam,LPARAM lParam)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CString str=(LPCTSTR)lParam;<BR>&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(str);<BR><BR>&nbsp;&nbsp;// 记住 ,要 delete <BR>&nbsp;&nbsp; delete []str ;<BR>&nbsp;&nbsp;&nbsp;&nbsp;return 0;<BR>}<BR>
<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 + -