2014-02-14 47 views
3

我在Windows C++應用程序中有一個TreeView控件,有一個ImageList集合
我試圖插入一個節點,沒有圖標(沒有TVIF_IMAGE標誌),但圖標仍然顯示。TreeView與具有節點圖標和無圖標的項目

TVINSERTSTRUCT tvis = { 0 }; 
    tvis.hParent = hParent; 
    tvis.hInsertAfter = hInsertAfter; 
    tvis.item.mask = TVIF_TEXT; 
    tvis.item.pszText = (LPTSTR) lpszItem; 
    tvis.item.iImage = 0; 
    tvis.item.iSelectedImage = 0; 
    tvis.item.state = nState; 
    tvis.item.stateMask = nStateMask; 
    tvis.item.lParam = lParam; 
    ::SendMessage(m_hWnd, TVM_INSERTITEM, 0, (LPARAM)&tvis); 

這可能/支持?

+0

我覺得你的問題是MFC和Visual C++標籤更好的人選。 – macroland

+2

在圖像列表中包含一個空白圖標並選擇該圖標。 –

回答

2

嘗試將圖像標誌設置爲-1而不是0;

+0

沒有這個運氣... – vlg789

3

的事情是要插入一個項目與[默認]圖像0您不僅需要-1,但你也需要TVIF_IMAGE

tvis.item.mask = TVIF_TEXT | TVIF_IMAGE; 
    tvis.item.iImage = -1; 

在這裏進行比較,你這個變化的影響你的片段( source code):

enter image description here

+0

不起作用。它適合你嗎?我問,因爲我想知道是否與款式等有關。 – vlg789

+0

是的,它爲我工作如預期。我發佈之前檢查。 –

相關問題