程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> MFC實現 自適應操作系統的CListCtrl控件,mfcclistctrl

MFC實現 自適應操作系統的CListCtrl控件,mfcclistctrl

編輯:C++入門知識

MFC實現 自適應操作系統的CListCtrl控件,mfcclistctrl


     新建對話框應用程序,刪除自動生成的控件後,拖拽一個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");

 下面是這兩種樣式的對比圖:

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved