2017-02-16 28 views
1

當創建一個文本框如何在C++ Win32 GUI中爲文本框設置默認背景(灰色)文本?

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

如何設置默認情況下,在該對話框的背景灰色文本,提供一些輸入時會消失? An example。我正在使用代碼塊。

編輯:

#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您需要包含''標題。 – 2017-02-16 22:49:06

+0

沒有,沒有改變 – AFellow

相關問題