将 double 转换为 LPARAM 时出现问题

Troubles converting double to LPARAM

我正在尝试制作我的第一个 Windows 桌面应用程序(到目前为止一直只使用控制台)。这可能是一个真正的菜鸟问题。我正在为从远程测试设备接收串行数据和 logs/displays 趋势分析数据的工作做一些事情。我可以毫不费力地从远程设备获取数据并将其存储到 double 中(数据预计在 0.0000 和 0.9999 之间)。

然后我想使用以下代码获取数据并将其显示在 CreateWindow 编辑控件中:

hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, L"EDIT", L"0.000", 
                      WS_VISIBLE | WS_CHILD | ES_LEFT | WS_TABSTOP, 
                      75, output_height, width, height, mainHandle, NULL,
                      (HINSTANCE)GetWindowLongPtr(mainHandle, GWLP_HINSTANCE), NULL);

SendMessage(hwnd, WM_SETTEXT, NULL, (LPARAM)/* insert num in some way*/);`

无论我如何尝试,我都找不到将 double 转换为 LPARAM 的方法。我已经尝试了所有我能想到的在互联网上找到的方法,其中 none 行得通。我在 Visual Studio Community 2019 工作。非常感谢任何帮助或提示。谢谢!

将双精度转换为字符串并将字符串指针转换为 lparam:

double d_number;
wchar_t buffer[30];
swprintf(buffer, 30, L"%g", d_number);
SendMessage(hwnd, WM_SETTEXT, NULL, (LPARAM)buffer);