CListCtrl 設定選中狀態

2021-08-08 18:06:40 字數 851 閱讀 4119

clistctrl 設定選中狀態

1. 使用clistctrl的函式setitemstate(int nitem, uint nstate, uint nmask); 如:

m_list.setitemstate(index,lvni_focused | lvis_selected, lvni_focused | lvis_selected); //設定行index為選中並高亮(如果未設定focuse,被選中行會變為灰色)

state 字段就是設定item 的狀態。 statemask是設定影響到的狀態。

這樣要修改 item 狀態,就不需要先獲取每個狀態值,只需要在 statemask 中指定要修改的某個或者某幾個狀態即可。

例如這裡要修改lvis_selected狀態,只需要將 item 的 state 和 statemask 都設定為lvis_selected ,

如果statemask沒有lvis_selected,則state中的lvis_selected也不生效。

2. 另外,要使被選中行高亮顯示,除了將item 的 state 和 statemask 都設定lvni_focused之外,還要將list control控制項的always show selection屬性設定為true(預設為false,也就是說當前選擇的 item 在控制項非啟用狀態下是不顯示選中行的)。

3. 經過以上修改,在開啟對話方塊之後,指定item在list control控制項中顯示為選中狀態,但是背景色是灰色,因為開啟的對話方塊焦點不在list control控制項上,

因此需要在對話方塊類的oninitdialog()中加一句m_list.setfocus(),同時將return true改為return false來指示視窗不按照tab順序來指定焦點。

CListCtrl刪除選中行

clistctrl選中行有兩種屬性情況,如果設定了single selection為true,則只能單選,否則為多選 預設 方法一 int clistctrl getselectionmark 返回值 返回選中索引號,否則返回 1 說明 這個函式可以處理單行的情況,但是有乙個缺點,它會保留你上次選中...

CListCtrl刪除選中行

clistctrl選中行有兩種屬性情況,如果設定了single selection為true,則只能單選,否則為多選 預設 方法一 int clistctrl getselectionmark 返回值 返回選中索引號,否則返回 1 說明 這個函式可以處理單行的情況,但是有乙個缺點,它會保留你上次選中...

jq設定checkbox預設選中狀態

1.後台傳送的資料 是spring框架中的物件model.addobject student stu 前台頁面由隱藏的接收物件 頁面 class hidden th value id ckbx type checkbox div jq 設定checkbox的幾種方式 1.attr 設定核取方塊為勾選...