新建對話框應用程序,刪除自動生成的控件後,拖拽一個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");
下面是這兩種樣式的對比圖: