ListView,LVM_INSERTITEM и Поток

Тема в разделе "WASM.BEGINNERS", создана пользователем 2FED, 20 янв 2009.

  1. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    В потоке добавляю многожество элементов в листвиев, при этом сам он сильно мерцает от того что перерисовывается после добавления каждого элемента, как избежать этого мерцания?

    пока что сделал

    invoke ShowWindow,hList,SW_HIDE
    ....
    наполнение списка
    ...
    invoke ShowWindow,hList,SW_SHOW

    посоветуйте как сделать грамотней :)
     
  2. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    Грамотнее организовать загрузку по мере прокрутки листвиева.
     
  3. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Код (Text):
    1. SendMessage(hWnd,WM_SETREDRAW,false,0);
    2. //добавляй айтемы
    3. SendMessage(hWnd,WM_SETREDRAW,true,0);
    так пробовал?
     
  4. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    RamMerLabsСпасибо, то что нужно.

    Ещё вопрос, как указать в LVM_INSERTITEM куда должен добавлятся итем, в конец или в начало.?
     
  5. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    Видимо через iItem:
    Код (Text):
    1. typedef struct _LV_ITEM {  
    2.     UINT   mask;
    3.     int    iItem;
    4.     int    iSubItem;
    5.     UINT   state;
    6.     UINT   stateMask;
    7.     LPTSTR  pszText;
    8.     int    cchTextMax;
    9.     int    iImage;       // index of the list view item's icon
    10.     LPARAM lParam;       // 32-bit value to associate with item
    11. } LV_ITEM;
     
  6. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    2FED
    LV_ITEM.iItem - поставить нужный индекс?

    //add: опередили...
     
  7. perez

    perez Member

    Публикаций:
    0
    Регистрация:
    25 апр 2005
    Сообщения:
    502
    Адрес:
    Moscow city
  8. perez

    perez Member

    Публикаций:
    0
    Регистрация:
    25 апр 2005
    Сообщения:
    502
    Адрес:
    Moscow city
    А вообще, если данных много, попробуй использовать виртуальный список. Это когда список сам запрашивает те элементы, которые нужно непосредственно отобразить.