如何将 LPARAM lParam 转换为 CString
How to convert a LPARAM lParam to a CString
在我的工作线程中,我创建了一个发送到主对话框的消息。 一旦主对话框收到消息并进入我的 OnStatusUpdate() 函数,我想从 LPARAM lParam 中提取消息并将其显示在对话框编辑框中。 我没有得到我的信息,我得到的只是垃圾。
UINT CGDC74xDlg::LeakTstThread( LPVOID pParam )
{
HWND *phObjectHandle = static_cast<HWND *>(pParam);
CString strTmp = "It works!";
CString * message = new CString(strTmp);
::PostMessage(*phObjectHandle, WM_LEAK_TEST_THREAD, 0, (LPARAM)message);
::Sleep(5000);
delete phObjectHandle;
return( 0 );
}
LRESULT CGDC74xDlg::OnStatusUpdate(WPARAM wParam, LPARAM lParam)
{
LPTSTR lpMessage = (LPTSTR)lParam;
CString s = lpMessage;
delete lpMessage;
GetDlgItem(IDC_EDIT_LEAK_TEST_RESULTS)->SetWindowText(s);
return 0;
}
在您的情况下,LPARAM
不包含CString
。它包含一个指向CString
的指针。
所以你会像这样获得它:
CString *message = (CString*)lParam;
相关文章:
- 如何转换真实路径 CString c++
- 如何将 CString 转换为字节 [] 数组?
- 如何将 CComVariant bstr 转换为 CString
- 如何将CString转换为使用WCHAR的Windows API和自定义函数?
- 我如何将void *值正确转换为cstring
- 为什么将字符串向量值转换为 cstring 不等同于手动写入字符串?
- 使用 cstring 将字符串转换为字符数组
- 如何将 LPARAM lParam 转换为 CString
- 将 BSTR 转换为 CString 时出错
- CString 到 LPCTSTR 的转换会中断 sql 查询
- 将 CString 表单转换为常量字符*
- CString 到 LPCTSTR 的转换
- 错误 C2440: 'type cast':无法从 'bool' 转换为 'CString'
- 将 CString 转换为字符类型
- 在 UNICODE 应用程序中将 char * 转换为 catch 块内的 CString
- 在C++中将字符串转换为Cstring
- 将cstring转换为camelcase
- 如何正确地将无符号字符转换为CString,并再次将CString的结果反向转换为无符号字符
- 从 ATL::CString 转换为 C++ 中的字符串
- ToCString 的标头在哪里,或者如何将参数转换为 cstring?