0
我們經常在搜索欄上看到一個背景文本,即「在這裏搜索」,「在此輸入以進行搜索」等,當我們開始輸入時,它會消失。看一看下面的一個:如何在CCombobox中添加背景文本
有任何built-in
方法來實現在MFC Application
爲CComboBox Control相同的功能?
我們經常在搜索欄上看到一個背景文本,即「在這裏搜索」,「在此輸入以進行搜索」等,當我們開始輸入時,它會消失。看一看下面的一個:如何在CCombobox中添加背景文本
有任何built-in
方法來實現在MFC Application
爲CComboBox Control相同的功能?
這將發送窗口消息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的任何影響。
這似乎很有幫助,但我很驚訝,'SetCueBannar'不在'CComboBox'的方法列表中,我得到的是'錯誤C2039:'SetCueBanner':不是'CComboBox''的成員什麼是我在這裏做錯了嗎? –
可能你是針對WinXP的。您仍然可以通過WinAPI消息使用此功能(請參閱更新的答案) –
感謝您的更新,先生,但我使用的是Windows 8.1 Enterprise' –