MFC-ListControl控制元件(列表控制元件)

2020-10-25 15:01:13

嚮導流程
在VS中選擇「檔案」 – 「新建」 – 「專案」:
在這裡插入圖片描述
選擇 MFC – MFC應用程式,接下來我們建立一個單檔案MFC標準型別應用程式。
在這裡插入圖片描述
一路按預設值next,到最後一個頁面:

在這裡插入圖片描述
MFC自動為我們生成了四個類,它們的繼承關係如下:
在這裡插入圖片描述
類檢視

在這裡插入圖片描述

在這裡插入圖片描述

效果圖:
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

在這裡插入圖片描述

常用屬性設定:view -> Report(報表方式)

步驟
建立表單:listFrame
生成ClistFrame類,在其初始化程式碼OnInitDialog()中新增:

BOOL ClistFrameDlg::OnInitDialog()
{
	CDialogEx::OnInitDialog();

	// 設定此對話方塊的圖示。當應用程式主視窗不是對話方塊時,框架將自動
	//  執行此操作
	SetIcon(m_hIcon, TRUE);			// 設定大圖示
	SetIcon(m_hIcon, FALSE);		// 設定小圖示

	// TODO: 在此新增額外的初始化程式碼
!!!!!!!!!!!!!!!所加程式碼這裡!!!!!!!!!!!!!!!!!!!!!
	//列表控制元件使用

	//標題所需欄位
	CString head[]={TEXT("姓名"),TEXT("年齡"),TEXT("性別")};

	CString name[]={TEXT("李白"),TEXT("魯班"),TEXT("韓信"),
					TEXT("亞索"),TEXT("達摩"),TEXT("小明")};
	
	//插入列標題
	m_list.InsertColumn(0,head[0],LVCFMT_LEFT, 100);
	m_list.InsertColumn(1,head[1],LVCFMT_LEFT, 100);
	m_list.InsertColumn(2,head[2],LVCFMT_LEFT, 100);

	//插入正文內容
	for(int i=0;i<6;i++){
	//	CString str;
	//  str.Format(TEXT("張三_%d"),i);
	//	str.Format(TEXT("name[i]_%d"),i);

		//確定行數
		m_list.InsertItem(i,name[i]);
		
		//設定列內容
		int j=0;
		int age=23;
		m_list.SetItemText(i,++j,TEXT("23"));//怎麼設定int
		m_list.SetItemText(i,++j,TEXT("男"));

	}
	//設定風格樣式
	//LVS_EX_GRIDLINES 網格
	//LVS_EX_FULLROWSELECT 選中整行
	m_list.SetExtendedStyle(m_list.GetExtendedStyle() 
	| LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
	return TRUE;  // 除非將焦點設定到控制元件,否則返回 TRUE
}