|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.09.2010, 10:19 | #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. |
10.09.2010, 12:05 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А не проще ли воспользоваться услугами ScrollBox'a?
Или тогда обьясни поточнее критерии когда показывать когда скрывать Скроллы.
I'm learning to live...
|
10.09.2010, 12:19 | #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. |
|
10.09.2010, 12:45 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Тогда еще один глупый вопрос - почему бы не вынести их наружу? (скролбоксы всмысле). Тогда клиентская область не будет меняться.
I'm learning to live...
|
10.09.2010, 12:48 | #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)
Проверь себя! Онлайн тестирование | Мой блог |
|
10.09.2010, 13:08 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ладно. Вот как бы сделал я если бы наглотался твоих грибов:
Код:
ScrollBar2 - вертикальный ScrollBar1 - Горизонтальный Panel - Контейнер на котором лежит Картинка Идея ясна?
I'm learning to live...
|
10.09.2010, 13:12 | #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)
Проверь себя! Онлайн тестирование | Мой блог |
10.09.2010, 13:23 | #8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Не я все понял. Но ты же сказал как бы я сделал? Вотя и решил что сворачивание скролов за пределы видимости даст тот же эффект что и установка Visible
I'm learning to live...
|
10.09.2010, 14:04 | #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.09.2010, 15:11 | #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 |