Как добавить фоновый текст в CCombobox

Мы часто видим фоновый текст на панели поиска, то есть «Поиск здесь», «Введите здесь для поиска» и т. Д., И он исчезает, когда мы начинаем печатать. Посмотрите на следующее:

Образец того, что мне нужно

Есть ли built-in метод для реализации той же функциональности в MFC Application для CComboBox Control ?

0

Решение

использование CComboBox :: SetCueBanner

Это отправляет сообщение окна CB_SETCUEBANNER, SetCueBanner также доступен для CEdit, Для этой функции требуется как минимум Windows Vista.

Эта функция только для Unicode, она должна иметь текст Unicode.

Если вы нацелены на WinXP, SetCueBanner недоступен и программа не будет компилироваться. Но вы все еще можете отправить CB_SETCUEBANNER (0x1703) сообщение:

::SendMessageW(myComboBox->m_hWnd, CB_SETCUEBANNER, 0, (LPARAM)L"Text");

Это скомпилирует и запустит на всех системах, однако не будет иметь никакого эффекта в Windows XP.

2

Другие решения