Editable ListView

Тема в разделе "WASM.ASSEMBLER", создана пользователем HESH, 5 янв 2018.

  1. HESH

    HESH Active Member

    Публикаций:
    2
    Регистрация:
    20 мар 2008
    Сообщения:
    143
    Возникла необходимость создать свой контролл на основе ListView (LVS_REPORT+LVS_EDITLABELS), с возможностью редактирования ячеек (GRID не рассматривается). Был неприятно удивлен, тем что в этом контролле доступно редактирование только ячеек только первой колонки средствами штатного Edit'a (LVM_EDITLABEL, LVM_GETEDITCONTROL). При попытке двигать Edit в разные Rect'ы SubItem'ов пропадает текст редактируемой(первой) ячейки на время пока существует Edit. Есть у кого-нибудь годные сорцы на эту тему, желательно на асме ? Или может инфа дельная ?
     
  2. al79

    al79 Алексей

    Публикаций:
    0
    Регистрация:
    11 май 2006
    Сообщения:
    133
    Адрес:
    Екатеринбург
    Делал я когда то такое, но у меня использовался стиль LVS_OWENDRAWFIXED и без LVS_EDITLABELS, контрол edit создавал отдельно и на форму бросал.
    Я бы в твоем случае попробовал после перемещения edit, сделать перерисовку строки LVM_REDRAWITEMS, затем еще раз передать фокус Edit-у SetFocus,hedit и перерисовать его InvalidateRect,hedit,0,1
     
    Mikl___ и HESH нравится это.
  3. HESH

    HESH Active Member

    Публикаций:
    2
    Регистрация:
    20 мар 2008
    Сообщения:
    143
    Спс, вечером опробую этот вариант :)
     
  4. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.348
    Это не нужно. При перемещении окна оно не теряет фокус и если последний параметр MoveWindow() равен TRUE, то оно перерисовывается автоматически.
     
    Mikl___ нравится это.
  5. al79

    al79 Алексей

    Публикаций:
    0
    Регистрация:
    11 май 2006
    Сообщения:
    133
    Адрес:
    Екатеринбург
    Да согласен, забыл, что у меня в старой реализации edit контрол создавался самостоятельно и поэтому я передовая ему фокус.
     
  6. HESH

    HESH Active Member

    Публикаций:
    2
    Регистрация:
    20 мар 2008
    Сообщения:
    143
    al79, Вариант с LVM_REDRAWITEMS не проканал :dntknw: Похоже, придется отдельно Edit создавать и контролить. А сорцев в заначке на эту тему никаких не осталось ?
     
    Mikl___ нравится это.
  7. al79

    al79 Алексей

    Публикаций:
    0
    Регистрация:
    11 май 2006
    Сообщения:
    133
    Адрес:
    Екатеринбург
    Вот набросал, работает все чудно без всяких LVS_EDITLABELS.
     

    Вложения:

    HESH нравится это.
  8. HESH

    HESH Active Member

    Публикаций:
    2
    Регистрация:
    20 мар 2008
    Сообщения:
    143
    Вот списибо добрая душа ! То, что доктор прописал ! :)