Дополнения пользователей Scroller (1.2)
|
[+][?] |
rubens
23.08.06 11:48:18 |
|
Хорошо. А есть ли scrollbar, который поддерживал темы XP?
Среди стандартных поставок XP я не видел.
А еще лучше класс фокса с поддержкой тем XP! Может где-то пробегало?
|
|
Nikolai Kremko
31.08.06 18:45:38 |
|
пробегало...
http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,df3cb71d-588f-4bc6-b63e-9c94017edd7f.aspx
|
|
Prototype
31.08.06 19:12:12 |
|
Указанный класс я тоже скачивал, хотел использовать в своих задачах. У него один хороший плюс, он
без ActiveX :), и хороший минус - пока еще сырой, есть определенные глюки с интерфейсом :(
В итоге так и пришлось свое написать. Время было ограниченно, поэтому и использовал ActivX.
|
|
rubens
04.09.06 19:05:45 |
|
Ясно. Указанный по ссылке скролируемый контейнер посмотрел. Жаль, что он работает только с 8-го.
Идея понятная. Но увы.
Интересно бы иметь пусть ActivX, но такой чтобы скроллинг его работал в runtime и поддерживал бы 6
и 7 VFP.
|
|
rubens
26.10.06 10:53:08 |
|
Привет!
Какую высоту скроллинга поддерживает этот объект?
|
|
Prototype
27.10.06 00:18:49 |
|
Честно сказать, не проверял :)
А что, проблемы возникли?
|
|
rubens
30.10.06 18:53:37 |
|
Нет, проблемы с твоим скроллером не возникли.
Иногда приходится делать окно со скроллингом. Но у него ограничение скроллинга, если не ошибаюсь,
равно удвоенному разрешению экрана (в зависимости от того какой скроллинг- вертикальному или
горизонтальному соответственно).
В 7 был глюк при использовании ViewPort. В 8 исправили. Но все равно неприятно, что от текущего
разрешения экрана могут обрезаться объекты при скроллинге окна.
|
|
Prototype
30.10.06 22:10:17 |
|
Понятно. Я с таким пока не сталкивался, поэтому не в курсе :)
|
|
Zakharov_slava
11.07.07 15:33:03 |
|
Вопрос, чего то не совсем разобрался каким образом я могу "пересмотреть" положение Scroll'ов. Есть
метод RefreshScrollBars, который, если до этого ScrollBar были невидны прекрасно их отрисовывает и
ставит их в соответствие с содержимым контейнера. Но если ScrollBar до этого уже был в Scroller1
то он не пересматривает свое положение в зависимости от размера содержимого. Например в начале у
меня содержимое было в 0,5 от размера контейнера. Я вызвал RefreshScrollBars и естественно никакие
ScrollBar не появились. Я меняю содержимое Scroller на "в два раза большее" чем размер Scroller.
Вызвал RefreshScrollBars естественно ScrollBar появляются и я могу рассмотреть его полностью. Если
теперь(при имеющихся ScrollBar) я увеличу размер содержимого еще на 50%, то scrollBar остается как
для предыдущего размера содержимого контейнера. То есть я могу увидеть только 2/3 от его размера.
Остальное находится "ниже". Где можно пофиксить?
|
|
Prototype
26.07.07 00:28:00 |
|
Действительно, есть такой глюк :)
Пофиксил и обновил до версии 1.1
|
|
Zakharov_slava
01.08.07 22:39:05 |
|
Огромное спасибо за быстрое реагирование.
Очень мне помогло.:)
Еще вопрос, можно ли в скроллере как нить обрабатывать внутренне MouseWheel, то Есть скролл
колесиком. Чтобы ничего не трогая во внутреннем контейнере, а руля только свойствами
WheelType
0-Disabled
1-Horizontal
2-Vertical
и
WheelSpeed
Можно что нить снаружи приделать, но очень не хочется...:)
|
|
Prototype
01.08.07 22:49:43 |
|
Думаю можно, но потребует времени :)
Как нибудь проверю.
Спасибо за идею :)
|
|
Zakharov_slava
01.08.07 23:27:51 |
|
Для вертикальной я "на пока" у себя ставил примерно такой код в MouseWheel контейнера oContainer:
LPARAMETERS nDirection, nShift, nXCoord, nYCoord
IF this.getposy() - nDirection >0
lnDir = this.getposy() - nDirection
this.setposy(lnDir )
ELSE
this.gotobegin()
ENDIF
this.Parent.refreshscrollbars()
Для внутренних контейнеров и контролов везде в базовых классах расставил в MouseWheel
LPARAMETERS nDirection, nShift, nXCoord, nYCoord
this.Parent.MouseWheel(nDirection, nShift, nXCoord, nYCoord)
на пока мне вроде достаточно.
Но мож пригодится... :[
|
|
Prototype
03.08.07 01:28:40 |
|
Пригодилось :)
Реализовал прокрутку колесом. Можешь удалять у себя код в oContainer.MouseWheel()
Остальное оставь.
Shift+Колесо = Горизонтальное перемещение :)
Или можно настроить свойством nMouseWheel.
Еще раз, спасибо за помощь :)
|
|
Zakharov_slava
08.08.07 14:23:44 |
|
Мне понравилось. :)
Вам спасибо за отличное решение...
Единственно хотел бы порекомендовать сжимать VCX перед постингом. Это поможет сэкономить немного
места и как то аккуратней что ли... :)
|
|