现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

ListControl局部动态刷新

2013-04-02 02:30 工业·编程 ⁄ 共 839字 ⁄ 字号 暂无评论

建一个LISTCONTROL应该没啥好说的吧,直接拉一个MFC的工具就成.

初始化一个函数

int InitListControl() 

_mylist.ModifyStyle(0l,LVS_REPORT|LVS_SINGLESEL|LVS_SHOWSELALWAYS|LVS_NOSORTHEADER); 
  _mylist.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_CHECKBOXES); 
  _mylist.InsertColumn(0,L"隐藏"); 


.  
  _mylist.SetColumnWidth(0,80); 



  return 0; 

刷新数据弄一个函数

void ReListData(BOOL _b) 

  LockWindowUpdate(); 
       //更新内容 
  int num=games.GetCount(); 
  if(!num)return; 
  if(!_b) 
  { 
   _mylist.DeleteAllItems(); 
   for(int i=0;i<num;i++) 
   { 
    _mylist.InsertItem(i,L" "); 
   } 
  } 
  for(int i=0;i<num;i++) 
  { 
   _game *lpgame=games.GetAt(i); 
     
   CString str=_mylist.GetItemText(i,0); 
   if(str.Compare(lpgame->user)!=0) 
   _mylist.SetItemText(i,0,lpgame->user); 
  . 
  . 
  . 
  } 
    
  UnlockWindowUpdate(); 
}
 

 
关键可不是这UplockWindowUpdate()这二个函数,而是里面的字符串比较,当不一样时才赋值,效果是刷新时只刷新数据更新的那个ITEM,这办法好不好?

给我留言

留言无头像?