gpt4 book ai didi

c++ - 如何将 LPARAM lParam 转换为 CString

转载 作者:行者123 更新时间:2023-11-28 03:26:12 26 4
gpt4 key购买 nike

在我的工作线程中,我创建了一条发送到主对话框的消息。一旦主对话框收到消息并进入我的 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;

关于c++ - 如何将 LPARAM lParam 转换为 CString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13885543/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com