Re: CListCtrl - доступ к ScrollBar?
От: Pavel Dvorkin Россия  
Дата: 29.06.04 10:23
Оценка: +1
Привет!

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"
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.