Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何为C+中的文本框设置默认背景(灰显)文本+;Win32 GUI?_C++_Winapi_Textbox_Win32gui - Fatal编程技术网

C++ 如何为C+中的文本框设置默认背景(灰显)文本+;Win32 GUI?

C++ 如何为C+中的文本框设置默认背景(灰显)文本+;Win32 GUI?,c++,winapi,textbox,win32gui,C++,Winapi,Textbox,Win32gui,创建文本框时 hwnd = CreateWindowEx(0, "EDIT", [...]) 如何设置该框背景上的默认灰色文本,该文本在提供某些输入时消失。我用的是代码块 编辑: #include <commctrl.h> [...] HWND hwndEdit = CreateWindowEx(0, "EDIT", NULL, WS_CHILD | WS_VISIBLE | WS_BORDER, 10, 110, 300, 20, hwnd, NULL, hThisInsta

创建文本框时

hwnd = CreateWindowEx(0, "EDIT", [...])
如何设置该框背景上的默认灰色文本,该文本在提供某些输入时消失。我用的是代码块

编辑:

#include <commctrl.h>

[...]

HWND hwndEdit = CreateWindowEx(0, "EDIT", NULL, WS_CHILD | WS_VISIBLE | WS_BORDER, 10, 110, 300, 20, hwnd, NULL, hThisInstance, NULL);
SendMessage(hwndEdit, EM_SETCUEBANNER, FALSE, (LPARAM) L"Default text");
#包括
[...]
HWND hwndEdit=CreateWindowEx(0,“编辑”,NULL,WS|u子项| WS|u可见| WS|u边框,10,110,300,20,HWND,NULL,hThisInstance,NULL);
SendMessage(HwnEdit,EM_SETCUEBANNER,FALSE,(LPARAM)L“默认文本”);

创建编辑控件后,向其发送消息:

SendMessage(hwndEdit, EM_SETCUEBANNER, 0, (LPARAM)L"Default text");
或者使用宏:


无论哪种方式,您也需要。

“'EM_SETCUEBANNER'未在范围内声明”-我想这是因为我没有启用视觉样式-尝试这样做,查阅了一些文章,但仍然不起作用。你有什么好的ELI5文章或视频来解释吗?@a下面你需要包括
标题。这样做了吗,什么都没有changed@AFellow如果您还有其他问题,请单击按钮提问。@很可能您的Win32 SDK已经过时,甚至没有
EM\u SETCUEBANNER
。如果需要,只需在自己的代码中手动定义它。它的值为
0x1501
Edit_SetCueBannerText(hwndEdit, L"Default text");