CListCtrl

Тема в разделе "MS Visual C++", создана пользователем -, 31 авг 2004.

Статус темы:
Закрыта.
  1. Гость

    Как сделать так что бы, список при добавлении элементов всегда Позиционирование вниз, т.е. постоянно отображался последний элемент
     
  2. mfasakhov

    mfasakhov Гость

    Может есть более простой вариант, но я сделал так:
    Для выделения:
    ListCtrl.SetItemState(Index,LVIS_FOCUSED|LVIS_SELECTED,LVIS_FOCUSED|LVIS_SELECTE
    D);

    Для того чтобы был на "виду" можно использовать ListCtrl.Scroll. Правда здесь надо вычислить аргумент примерно так:
    CSize c1;
    RECT rc;
    ListCtrl.GetItemRect(0,&rc,LVIR_BOUNDS);
    c1.cx = 0;
    c1.cy = TopIndex*(rc.bottom-rc.top - 1);
    ListCtrl.Scroll(c1);
     
  3. Zinya

    Zinya Гость

    А почему бы не воспользоваться CListCtrl::EnsureVisible
     
  4. klizardin

    klizardin Гость

    У меня были глюки с EnsureVisible
    с тем что когда его просил отобразить последнюю строчку то он чуть отскроливал (на пару строчек)
    вверх и последняя строчка скрывалась из виду.

    только в ListCtrl совсем не так вычисляешь занчение скролинга RTFM
    Код (Text):
    BOOL Scroll( CSize size );

    Return Value

    Nonzero if successful; otherwise zero.

    Parameters

    size

    A CSize object specifying the amount of horizontal and vertical scrolling, in pixels. The y member of size is !!divided!! by the height, in pixels, of the list view control’s line, and the control is scrolled by the resulting number of lines.

    Remarks

    Scrolls the content of a list view control.
     
Статус темы:
Закрыта.

Поделиться этой страницей