0

我们经常在搜索栏上看到背景文本,例如“在此处搜索”、“在此处键入以进行搜索”等,当我们开始键入时它会消失。看看下面的一个:

我需要的样本

是否有任何built-in方法可以MFC ApplicationCComboBox 控件中实现相同的功能?

4

1 回答 1

3

使用CComboBox::SetCueBanner

这会发送窗口消息CB_SETCUEBANNERSetCueBanner也可用于CEdit. 此功能至少需要 Windows Vista。

这个函数只有 unicode,它必须是 unicode 文本。

如果您的目标是 WinXP,SetCueBanner则不可用并且程序将无法编译。但是您仍然可以发送CB_SETCUEBANNER( 0x1703) 消息:

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

这将在所有系统上编译和运行,但在 Windows XP 中不会有任何影响。

于 2015-08-24T09:05:00.353 回答