MFC:练习使用CListCtrl类

来源:互联网 发布:用友软件实施合同 编辑:程序博客网 时间:2024/06/10 15:14
  1. //*1-创建控件
  2.    //创建
  3.    m_lst.Create(WS_CHILD|WS_CAPTION|WS_VISIBLE|LVS_REPORT|
  4.          LVS_NOSORTHEADER|LVS_ALIGNLEFT|WS_TABSTOP,
  5.          CRect(12,10,300,300),this,IDC_LIST);
  6.    //修改外观,添加列和行
  7.    m_lst.ModifyStyleEx(0,WS_EX_STATICEDGE,SWP_FRAMECHANGED);        
  8.    //上面一行是修改外观,第一个参数是要去掉的属性,第二个是要增加的属性,第三个一定要注意,错了会失败
  9.    m_lst.InsertColumn(0,L"线路名称",0,100);
  10.    m_lst.InsertColumn(1,L"IP或域名",0,100);
  11.    m_lst.InsertColumn(2,L"端口",0,50);
  12.    int t=m_lst.InsertItem(0,L"测试项");    
  13.    m_lst.SetItemText(t,1,L"测试子项");      
  14. //*2-添加消息映射   
  15.    protected:
  16.      DECLARE_MESSAGE_MAP()
  17.      afx_msg void OnListChg(NMHDR *pNMHDR, LRESULT *pResult);
  18. //*3-消息响应实现
  19.      BEGIN_MESSAGE_MAP(CMainWnd,CFrameWnd)
  20.         ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST,
  21.                           &CMainWnd::OnListChg)
  22.      END_MESSAGE_MAP()
  23.      void CMainWnd::OnListChg(NMHDR *pNMHDR, LRESULT *pResult){
  24.     LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
  25.     *pResult = 0;
  26.      }

补充1:

双击:ON_NOTIFY(NM_DBLCLK, ListCtrl的ID, &窗体类::OnDblClk)

声明:afx_msg void OnDblClk(NMHDR *pNMHDR, LRESULT *pResult);