电竞比分网-中国电竞赛事及体育赛事平台

分享

CListCtrl用法

 小月餅之家 2011-11-08

一、CListCtrl在MFC中共有四種view可供選擇,每種view用不同的方式顯示列表的內(nèi)容。

· 圖標視圖(Icon view)
每一項以全尺寸圖標(32×32像素)出現(xiàn),下面有一個標簽。用戶可在列表視圖窗口拖動項到任意位置。
· 小圖標視圖(Small icon view)
視圖每一項以小圖標(16×16像素)出現(xiàn),右邊有一個標簽。用戶可在列表視圖窗口拖動項到任意位置。
· 列表視圖(List view)
每一項以小圖標出現(xiàn),下面有一個標簽。項按列排列,不能拖動到列表視圖窗口的任何位置。
· 報表視圖(Report view)
每一項在本行上出現(xiàn),右邊有排列成列的附加信息。最左邊的列包含小圖標和標簽,下一列包含應用指定的子項。

二、使用List Control控件有兩種方法。
1.在對話框體上添加,直接從工具箱里點List Control拖拉即可,在屬性里view項設置視圖類型。
CListCtrl *pMyList;
pMyList = (CListCtrl*)GetDlgItem(IDC_LIST);
2.無對話框體,直接顯示在程序初始視圖窗口里面。這時,如果基于CListView的類,聲明變量,然后調(diào)用CListView類里的成員函數(shù)GetListCtrl()。
CListCtrl *pMyList;
pMyList = &GetListCtrl();
pMyList->ModifyStyle(0,LVS_ICON);//設置為視圖類型  

三、其它設置。如顯示樣式、位置、背景等。

設置顯示樣式:網(wǎng)格,選中時整行高亮
pMyList->SetExtendedStyle( LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES );

如要固定每列不能用鼠標拖動,添加如下代碼:

CHeaderCtrl* pHeaderCtrl = (CHeaderCtrl*)pMyList->GetHeaderCtrl();
pHeaderCtrl->EnableWindow( FALSE ) ;

四、之后可以插入行、列。下例為Report view 類型的List,除第一行為標題,其余每行的第一列為item項,第二列為subitem。
pMyList->InsertColumn(0,_T("節(jié)次"),LVCFMT_CENTER,iColumnWidth);
pMyList->InsertColumn(1,_T("課程"),LVCFMT_CENTER ,iColumnWidth);

pMyList->InsertItem(0,_T("第一節(jié)"));
pMyList->SetItemText(0,1,_T("語文"));

pMyList->InsertItem(1,_T("第二節(jié)"));
pMyList->SetItemText(1,1,_T("數(shù)學"));

五、一般都要為List加圖標的,可以加bitmap或者icon圖標。

1.Bitmap圖標。

CBitmap *pBitmap=new CBitmap;
CImageList *pImageList=new CImageList;

pBitmap->LoadBitmap(IDB_BITMAP1);
pImageList->Create (48,48,ILC_COLOR,7,2);

pImageList->Add(PBitmap,RGB(0,0,0));

pListView->SetImageList(pImageList,LVSIL_NORMAL);//ICON 視圖加上這行

然后pMyList->InsertItem(0,_T("第一節(jié)")),改為pMyList->InsertItem(0,_T("第一節(jié)"),iImage),iImage為ImageList中的圖片編號


2.當然也可添加ICON圖標,如下。

//新建用來存放圖標的列表
CImageList* imageList = new CImageList();
imageList->Create(32,32,ILC_COLORDDB|ILC_MASK,7,7);

//從資源加載圖標
HICON   hIcon   =   ::LoadIcon(AfxGetResourceHandle(),   MAKEINTRESOURCE(IDI_ICON));
imageList->Add(hIcon);

獲取當前選中列表項編號:int i =pMyList->GetSelectionMark();

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多