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

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

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

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

1 ответ

Используйте 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.

Другие вопросы по тегам