CCheckListBox

類CCheckListBox實現了Windows複選列表框。複選列表框顯示項的一個列表,例如檔案名稱列表。列表中的每項都有一個複選框
CCheckListBox只用於自定義的控制項,列表中不僅僅包含字元串文本。
當然簡單的複選列表框可以只有字元串文本和相應的複選框。實際上也可以沒有文本。例如可以是一個點陣圖以及相應於複選框的列表。
創建自己的複選列表框,要從類CCheckListBox派生一個子類。然後為它寫一個構造函式,並調用成員函式Create。
如果複選列表框是預設形式的(由左邊帶有固定大小的複選框的字元串組成),就可以用預設的CCheckListBox::DrawItem函式繪製複選列表框。否則就要覆蓋函式CListBox::CompareItem、CCheckListBox::DrawItem以及CCheckListBox::Meas-ureItem。
可以在對話框模板或程式代碼中直接創建一個複選列表框。
#include <afxwin.h>
使用步驟及說明(限於MFC)
1 拖入一個List Box 控制項到對話框上。
2 選擇控制項屬性如右下圖(Owner draw選中Fixed;Has string選中)
3 然後給已經拖入控制項的對話框定義一個CCheckListBox類型成員,
CCheckListBox
然後綁定拖入的控制項。
4 使用CCheckListBox類的AddString方法可以加入複選框。
5根據需求 勾選或反選相關索引 調用成員函式 void SetCheck(int nIndex, int nCheck);
6 關於CCheckListBox事件,如果需要回響每一項前面的CCheckBox的點擊事件,該事件不能在類嚮導中添加,必須手工添加,首先在頭檔案中添加 :
afx_msg void OnCheckchangeList1();
然後在CPP檔案中如下代碼中添加:
BEGIN_MESSAGE_MAP(CCheckListTestDlg, CDialog)
//{{AFX_MSG_MAP(CCheckListTestDlg)
//}}AFX_MSG_MAP
ON_CLBN_CHKCHANGE(IDC_LIST1, OnCheckchangeList1) //所添加部分
END_MESSAGE_MAP()
最後添加函式定義
void CCheckListTestDlg::OnCheckchangeList1()
{
}
在函式體中添加代碼即可。

相關詞條

熱門詞條

聯絡我們