Как отобразить определённую часть списка CListCtrl
Вопрос:
Я использую CListCtrl для отображения большого
объёма данных. Необходимо, чтобы программа
отображала различные части списка, но в MSDN ничего
не сказано о том, как установить верхний видимый
элемент. Я пробовал использовать CListCtrl::EnsureVisible(),
но это не совсем то, что мне нужно.
Ответ:
Для этого можно воспользоваться методом Scroll() в
CListCtrl:
1. Получаем верхний элемент
2. Находим высоту строки (при помощи GetItemRect() для
первого элемента) - надеюсь, что ваш контрол НЕ
owner-drawn с различными размерами строк)
3. Вычисляем расстояние скроллирования по оси Y
4. Скроллируем...
|