2017-02-16 3 views
1

При создании текстового поляКак настроить фоновый текст по умолчанию (greyed out) для текстового поля в C++ Win32 GUI?

hwnd = CreateWindowEx(0, "EDIT", [...]) 

Как установить по умолчанию, серый текст на фоне той коробки, которая исчезает при предоставлении какого входа? An example. Я использую кодовые блоки.

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"); 

ответ

7

После создания элемента управления редактирования, отправить EM_SETCUEBANNER сообщение к нему:

SendMessage(hwndEdit, EM_SETCUEBANNER, 0, (LPARAM)L"Default text"); 

Или использовать Edit_SetCueBannerText макрос:

Edit_SetCueBannerText(hwndEdit, L"Default text"); 

В любом случае, вы также необходимо, чтобы enable Visual Styles.

+0

«EM_SETCUEBANNER» не был объявлен в области видимости »- я предполагаю, что это связано с тем, что у меня нет связанных с визуальными стилями - попытался сделать это, посмотрел на некоторые статьи, но он по-прежнему не работает. У вас есть хорошая статья ELI5 или vid, объясняющая это? – AFellow

+0

@AFellow Вам нужно включить заголовок ''. –

+0

Сделал так, ничего не изменилось – AFellow

Смежные вопросы