CListCtrl

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

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

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);
 
Z

Zinya

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

klizardin

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

только в ListCtrl совсем не так вычисляешь занчение скролинга RTFM
Код:
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.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!