ListControl局部動態刷新(MFC)

ListControl局部動態刷新(MFC)

 (2011-07-28 17:47:34)
標籤: 

刷新數據

 

函數

 

貼寫

 

字符串

 

實現

分類: c

一直想實現這個,不是WEB控件,沒有現成的辦法,網上查了好久,都是重載,也有說用雙DC繪,但我都沒實現成。這陣雙腳腫得厲害,心情不是很好,但這個居然讓我實現了,頗感安慰。

 

建一個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,這辦法好不好?套用那個“官”說的話,反正我覺得很好!轉貼寫上出處,謝謝。


轉於:http://blog.sina.com.cn/s/blog_6ca0f2df0100t7ir.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章