Привет!
Stamp wrote:
>
> Уважаемый олл, вопрос в следующем
> Есть CListCtrl, в нем по умолчанию вертикальный скролл.
> Для реализуемой задачи необходимо управлять им самому — т.е. назначать мин/макс колво элементов, двигать бегунок.
> Как получить к нему доступ? Или необходимо создавать свой класс ListCtrlа, в котором и издеваться с ним руками?
> Спасибо
Доступ-то к нему получить несложно. listctrl — это окно, а поэтому, как
обычно, SetScrollInfo.
Но вот согласится ли лн с этим вмешательством — сильно сомневаюсь.
Представь себе, что ты сам его оконную функцию написал. Измеряешь
размеры элементов, сравниваешь с размерами окна, вызываешь SetScrollInfo
когда надо — азы, в общем. А теперь вдруг кто-то со стороны начинает
делать то же самое. Можно представить, что будет.
Попробуй, может, и получится. Метод следующий
Сабклассишь листконтрол.В перехватчике как минимум надо обрабатывать
WM_SIZE, все сообщения, связанные с добавлением и удалением элементов,
WM_V(H)SCROLL. Может, что-то еще... Т.е. тебе надо фактически полностью
заменить его работу со скроллбаром. А поэтому, каждый раз, когда он
что-то пытается с ним сделать, надо это действие перехватывать и
заменять на свое...
Вопрос — а зачем именно так нужно? Напиши подробнее о задаче, может,
есть более простое решение.
--
With best regards,
Pavel Dvorkin
Posted via RSDN NNTP Server 1.7 "Bedlam"