![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
Есть два скроллбара (TScrollBar), один вертикальный, другой горизонтальный. Управляются полностью вручную. Возникла задача - когда нужно показывать их, а когда не нужно прятать. Но есть один нюанс, бывают случаи когда появление одного приводит к тому, что необходим становится и другой, хотя до этого он вроде как был и не нужен. Как бы получше это сделать? Не то чтобы я совсем не могу это написать, но получается много когда, много проверок, как-то некрасиво, чувствую что можно лучше. Хочется найти оптимальное и красивое решение.
К примеру, есть процедура ShowScrollBars в к-рой этот код, доступны габариты (ширина, высота) области прокрутки, и габариты (ширина, высота) объекта, к-рый может в эту область влазить или не влазить. Позиция объекта всегда 0,0.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог Последний раз редактировалось mutabor; 10.09.2010 в 10:23. |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
А не проще ли воспользоваться услугами ScrollBox'a?
Или тогда обьясни поточнее критерии когда показывать когда скрывать Скроллы.
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]() Цитата:
Объясняю поточнее: Объект - картинка. Показывать скроллы нужно тогда, когда картинка не влазит в прямоугольник на экране, вокруг к-рого стоят эти скроллы (вернее они внутри, были бы вокруг - вопроса бы этого не было). Суть задачи - появление одного скролла делает клиентскую область прямоугольника меньшей на размер этого скролла, и теперь и другой будет нужен, хотя на момент входа в процедуру (до появления первого скролла) он не был нужен. Процедура решает, а нужно ли показывать скроллы, и какой показывать, а какой не показывать, и когда интересует этот вопрос, она вызывается. Так понятно? Я понимаю что очевидное решение - юзать скроллбокс, это так кажется, потому что я упростил чтобы было понятнее.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог Последний раз редактировалось mutabor; 10.09.2010 в 12:30. |
|
![]() |
![]() |
![]() |
#4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Тогда еще один глупый вопрос - почему бы не вынести их наружу? (скролбоксы всмысле). Тогда клиентская область не будет меняться.
I'm learning to live...
|
![]() |
![]() |
![]() |
#5 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]() Цитата:
![]() Представьте что вы на передаче Что гДе когда (только тут денег не платят =), вопрос от телезрителя ![]()
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
|
![]() |
![]() |
![]() |
#6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Ладно. Вот как бы сделал я если бы наглотался твоих грибов:
Код:
ScrollBar2 - вертикальный ScrollBar1 - Горизонтальный Panel - Контейнер на котором лежит Картинка Идея ясна?
I'm learning to live...
|
![]() |
![]() |
![]() |
#7 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
Прошу прощения, может я не правильно объяснил, мне нужно Visible свойство определять, а не Left и Top.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Не я все понял. Но ты же сказал как бы я сделал? Вотя и решил что сворачивание скролов за пределы видимости даст тот же эффект что и установка Visible
I'm learning to live...
|
![]() |
![]() |
![]() |
#9 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]() Цитата:
Идею понял, интересное решение, с интерпретацией булева значения как цифры. А если бы тебе нужно было все же Visible задавать? ![]()
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог Последний раз редактировалось Stilet; 10.09.2010 в 15:08. |
|
![]() |
![]() |
![]() |
#10 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Дружище. На Что Где Когда один вопрос ![]() Да и потом я бы уж точно не стал морочить голову таким - СкроллБокс кинул бы. Но раз ты уж спрашиваешь: Код:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
видимость переменных и методов в c# | Sparky | Помощь студентам | 5 | 26.07.2010 20:20 |
видимость данных. запутался | navi2 | Общие вопросы C/C++ | 4 | 05.04.2010 21:34 |
Видимость MDI формы. | Ital1cs | Помощь студентам | 0 | 29.03.2010 14:00 |
Видимость констант | tae1980 | Microsoft Office Excel | 5 | 23.11.2009 12:06 |
Видимость переменных | tae1980 | Microsoft Office Excel | 3 | 26.03.2009 18:34 |