Как скрыть каретку фокуса в ListVew?

Тема в разделе "WASM.WIN32", создана пользователем zortich, 26 апр 2008.

  1. zortich

    zortich New Member

    Публикаций:
    0
    Регистрация:
    7 июн 2007
    Сообщения:
    27
    Как скрыть каретку фокуса в ListVew?
    Чтобы Синие выделение элемента оставалось а прямоугольно прерывчатого квадрата не было?
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    сделать его owner-draw.
     
  3. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    обработал клик - выполняй
    SendDlgItemMessage(hDialog,40,LB_SETCURSEL,-1,-1);
     
  4. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    то есть там сразу есть селекшн и фокусед. точно не помню, давно юзал гуй..
    но в общем cursor sel. надо убирать передвигая его на -1. селекшн останется, а "точки" ущезнут.

    ЧОЧО? =\
     
  5. zortich

    zortich New Member

    Публикаций:
    0
    Регистрация:
    7 июн 2007
    Сообщения:
    27
    А разве LB_SETCURSEL на ListView действует?
    Ни как не могу найти сообщение для ListView которое управляет кареткой.
     
  6. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    перерисовывать элемент вручную.
     
  7. zortich

    zortich New Member

    Публикаций:
    0
    Регистрация:
    7 июн 2007
    Сообщения:
    27
    пробовал обрабатывать.
    NM_CUSTOMDRAW (CDDS_ITEMPREPAINT)
    там пробовал колдовать с ListView_SetItemState
    Но все равно каретка появляется.
     
  8. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    =\
    яхз конешо как ты там чего делаешь, но у меня всё прекрасно работало.
    советую потыкаться повнимательней.
     
  9. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    посылая сообщения для ListBox'a контролу ListView?
     
  10. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    эмн, ну я конеш прочитал криво, каюсь,
    но сути не меняет))
    на TreeView эти сообщения так же действуют.
    это раз.
    у ListView своё сообщение есть.
    как минимум
    LVM_SETITEM
    wParam = 0;
    lParam = (LPARAM) (const LV_ITEM FAR *) pitem;
    дальше
    typedef struct _LV_ITEM {
    UINT mask;
    int iItem;
    int iSubItem;
    UINT state;
    UINT stateMask;
    LPTSTR pszText;
    int cchTextMax;
    int iImage;
    LPARAM lParam;
    } LV_ITEM;

    где UINT state; это
    LVIS_SELECTED
    LVIS_FOCUSED

    (остальные не интересуют)

    зюыю: скачай win32sdk.hlp