我正在使用Visual Studio 2012與mfc標準庫。[MFC]如何在組合框中禁用項目?
我想使一個項目不能被選中,但Item可以在列表中看到。
我該怎麼做?我是MFC的新手。 plz幫我
雖然這不是一個確切的解決方案,我可以做到這一點。 當選擇該項目時,沒有任何操作,並留下關於該項目的消息無效 所以,如果我只是可以改變項目的顏色,那麼,它即將完成我想要的功能。但我甚至不知道如何改變顏色只是一個項目。
PLZ給我的幫助!T.T
我正在使用Visual Studio 2012與mfc標準庫。[MFC]如何在組合框中禁用項目?
我想使一個項目不能被選中,但Item可以在列表中看到。
我該怎麼做?我是MFC的新手。 plz幫我
雖然這不是一個確切的解決方案,我可以做到這一點。 當選擇該項目時,沒有任何操作,並留下關於該項目的消息無效 所以,如果我只是可以改變項目的顏色,那麼,它即將完成我想要的功能。但我甚至不知道如何改變顏色只是一個項目。
PLZ給我的幫助!T.T
我不認爲有這個在MFC支持。
但是你可以製作你自己的列表,它是從MFC中派生出來的。在這一點上,你可以重載OnItemChange(NMHDR* pNMHDR, LRESULT* pResult)
我認爲這是當用戶在列表中選擇一個不同的項目時調用的。然後,您可以檢查選定的項目,並向用戶發出警告:「您不能選擇該項目。」我知道這並不漂亮,但我不知道其他方式...
要更改列表框中只有一個項目的顏色,您必須完全替換列表框繪畫。您設置「所有者繪製」樣式,然後爲WM_DRAWITEM編寫消息處理程序。它將被調用列表框中的每個項目。在codeproject上有幾個例子:這裏是其中之一:
http://www.codeproject.com/Articles/135855/Owner-Drawn-CListBox