WTL或MFC中ListView属性设置

来源:互联网 发布:linux调整home分区大小 编辑:程序博客网 时间:2024/05/17 03:16

ListView比ListBox有更强的表现力,想让ListView展示一个表格形状,我们需要对属性做下设置。


然后用CListViewCtrl(WTL中的控件)和当前的资源绑定。CListViewCtrl::Attach(hWnd);

listView.InsertColumn插入一行,类似这样m_wndListLeft.InsertColumn(0 , TEXT("监视WndProc") , LVCFMT_LEFT , iWidth , 0);

可以插入多列

InsertColumn(0,...);InsertColumn(1,...);...

然后每行插入数据

InsertItem(0,...);SetItemText(0,1,...);...//插入第0行,并设置第0行,第1列。


m_wndList.InsertItem ( 0, _T("DDX_TEXT") );//第0行添加DDX_TEXT

m_wndList.SetItemText ( 0, 1, m_sEditContents );//第0行第一行 sss;第0行变成 DDX_TEXT sss


在用ListCtrl控件时,当向该控件中添加数据时,怎么样可以把滚动条时时滚动到最后一行,这样便可看到添加的新数据内容

1   
  加完数据后执行   
  EnsureVisible(最后一行索引)   
  可以保证滚动到最后   
  Example   
  //   The   pointer   to   my   list   view   control.   
  extern   CListCtrl*   pmyListCtrl;   
  //   Ensure   that   the   last   item   is   visible.   
  int   nCount   =   pmyListCtrl->GetItemCount();   
  if   (nCount   >   0)   
        pmyListCtrl->EnsureVisible(nCount-1,   FALSE);   
    
    
  2   
  CListCtrl   m_ListCtrl;   
  m_ListCtrl.SetFocus();   
  //设置最后一行被选中   
  m_ListCtrl.SetItemState(   m_ListCtrlLog.GetItemCount()   -   1,     
                                                        LVIS_ACTIVATING   |   LVIS_FOCUSED   |   LVIS_SELECTED,       
                                                        LVIS_SELECTED   |   LVIS_FOCUSED   );   
  //滚动到最后一行   
  m_ListCtrl.Scroll(   CSize(   0,   100000   )   );   
    
    
  3   
  加完数据后执行   
  MyListCtrl.SendMessage(WM_VSCROLL,   SB_BOTTOM,   NULL);  


原创粉丝点击