我有一個treeview
與checkboxes
,它有imagelist
與TreeView_SetImageList()
設置。從某些樹視圖項目中刪除圖像?
我想從沒有孩子的節點中移除圖像。我成功地去除父節點checkboxes
,所以我想嘗試類似的辦法:
// add an item
TVINSERTSTRUCT tvis = {0};
tvis.item.mask = TVIF_TEXT // | TVIF_IMAGE;
// tvis.item.iImage = -1; // I thought this will work
// tvis.item.iSelectedImage = -1; // but it does not work at all
tvis.item.pszText = L"Some text";
tvis.hInsertAfter = TVI_LAST;
tvis.hParent = TVI_ROOT;
htItem = reinterpret_cast<HTREEITEM>(SendMessage(hwndTV,
TVM_INSERTITEM, 0, reinterpret_cast<LPARAM>(&tvis)));
// remove image
TVITEM tvi;
tvi.hItem = htItem;
tvi.mask = TVIF_IMAGE | TVIF_SELECTEDIMAGE;
tvi.iImage = -1;
tvi.iSelectedImage = -1;
TreeView_SetItem(hwndTV, &tvi);
預期它不工作。起初,圖像不顯示,但該項目的文字是不是旁邊checkbox
:
如果我選擇另一項目的形象突然重新出現:
如果我點擊在有問題的節點上,我再次得到相同的結果,如第一張圖所示。
我的問題很簡單:
如何從一個節點中刪除圖像?
謝謝。
此致敬禮。
我會說,讓項目文本左對齊比使用交錯對齊更好,因爲這會讓用戶很難快速掃描樹。 – user1793036