ListView_GetCheckState

Тема в разделе "WASM.BEGINNERS", создана пользователем 2FED, 18 дек 2008.

  1. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    Нужно получить состояние итема, Checked/No Checked. залез в мсдн а там только макрос ListView_GetCheckState. пробовал через LVM_GETITEMSTATE ниполучается ничего, как сщитать это значение?

    пишу на masm
     
  2. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Код (Text):
    1.   NMLISTVIEW *pNMListView;
    2.   ...
    3.   if ((pNMListView->uOldState != 0 || pNMListView->uNewState != 0)) {
    4.     // Old check box state
    5.     BOOL bPrevState = (BOOL)(((pNMListView->uOldState & LVIS_STATEIMAGEMASK) >> 12) - 1);
    6.     if (bPrevState < 0) // On startup there's no previous state
    7.       bPrevState = 0; // so assign as false (unchecked)
    8.     // New check box state
    9.     BOOL bChecked = (BOOL)(((pNMListView->uNewState & LVIS_STATEIMAGEMASK) >> 12) - 1);
    10.     if (bChecked < 0) // On non-checkbox notifications assume false
    11.       bChecked = 0;
    12.     if (bChecked != bPrevState) {
    13.       //bChecked = TRUE;
    14.     }
    15.   }
    Пишу не на masm :)
     
  3. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    2FED
    1) Смотрим на определение ListView_GetCheckState:
    2) Делаем выводы.
     
  4. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    2FED
    И не забудь поглядеть на:
     
  5. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    спасибо, разобрался уже когда нашел код макроса.
     
  6. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    censored какойто громоздкий код.

    вот что у меня получилось

    invoke SendMessage, hList, LVM_GETITEMSTATE,dwNumberItem,LVIS_STATEIMAGEMASK
    test eax,02000h
    jz ...