2012-08-27 102 views
0

我有一個帶複選框的報表樣式的列表視圖。
有沒有簡單的方法可以使複選框顯示爲禁用?給它一個三態的效果?
我想有3個狀態:Enabled,Disabled和Unset。Listview三態複選框

+0

難道你不是指檢查,未檢查和未設置? –

+0

技術上是的,但在我的程序中檢查是表示是否啓用了某些功能,並取消選中禁用。 – Josh

+0

Unset - 也被稱爲未確定,恐怕您將不得不添加自定義繪畫 – marcinj

回答

3

標準LVS_CHECKBOXES樣式不支持三態複選框。但是,LVS_CHECKBOXES在內部是作爲ListView管理的ImageList和正常的ListView狀態索引實現的,因此您可以簡單地將自己的ImageList分配給ListView,將三個複選框圖像放入其中,並根據需要設置每個ListView項的狀態索引。然後,只需要處理ListView的鼠標消息,以便在單擊某個項目的狀態圖像時在狀態索引之間切換。