• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

CListCtrl

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

Guest

Как сделать так что бы, список при добавлении элементов всегда Позиционирование вниз, т.е. постоянно отображался последний элемент
 
Может есть более простой вариант, но я сделал так:
Для выделения:
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);
 
А почему бы не воспользоваться CListCtrl::EnsureVisible
 
У меня были глюки с 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.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab