Win32 Edit 控件中的占位符文本

Kon*_*eev 0 c winapi

我正在使用 Win32 API。我有这个创建编辑控件的代码:

CreateWindowW(L"Edit", L"", WS_VISIBLE | WS_CHILD, 100, 100, 200, 20, hand, NULL, NULL, NULL);
Run Code Online (Sandbox Code Playgroud)

图像

如何将占位符文本放入此编辑框内?

Rit*_*Han 6

您可以SendMessage使用EM_SETCUEBANNER

HWND editCtlHandle = CreateWindowW(L"Edit", L"", WS_VISIBLE | WS_CHILD | WS_BORDER, 100, 100, 200, 20, hWnd, NULL, hInstance, NULL);
WCHAR placeholderText[] = L"Enter here";
SendMessage(editCtlHandle, EM_SETCUEBANNER, FALSE, (LPARAM)placeholderText);
Run Code Online (Sandbox Code Playgroud)

或者使用Edit_SetCueBannerText宏:

Edit_SetCueBannerText(editCtlHandle, placeholderText);
Run Code Online (Sandbox Code Playgroud)

结果会是这样的:

在此输入图像描述