新建對話框應用程序,刪除自動生成的控件後,拖拽一個CListCtrl控件,綁定變量名為:m_listctrl。在對話框初始化成員函數OnInitDialog()中鍵入以下代碼即可實現自適應系統的CListCtrl控件!
#include "uxtheme.h"
#pragma comment(lib,"uxtheme.lib")
// 獲取當前窗口style
LONG lStyle;
lStyle = GetWindowLong(m_listctrl.m_hWnd, GWL_STYLE);
lStyle &= ~LVS_TYPEMASK; //清除顯示方式位
lStyle |= LVS_REPORT; //設置為report風格
SetWindowLong(m_listctrl.m_hWnd, GWL_STYLE, lStyle);//設置style
// 設置擴展風格
DWORD dwStyle = m_listctrl.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT;// 選中某行使整行高亮(和report風格配合使用)
m_listctrl.SetExtendedStyle(dwStyle);
// 設置windows explorer風格主題
::SetWindowTheme(m_listctrl.m_hWnd, L"explorer", NULL);
m_listctrl.InsertColumn(0, L"工資", LVCFMT_LEFT, 100);
m_listctrl.InsertColumn(1, L"姓名", LVCFMT_LEFT, 100);
m_listctrl.InsertColumn(2, L"學號", LVCFMT_LEFT, 100);
int nRow = m_listctrl.InsertItem(0, L"2400");
m_listctrl.SetItemText(nRow, 1, L"ャ玥夜ゞ");
m_listctrl.SetItemText(nRow, 2, L"007");
下面是這兩種樣式的對比圖:

