Re[17]: ScrollBars-2
От: Badenweiler Россия http://helloimyourmind.com/
Дата: 12.10.05 10:25
Оценка:
Здравствуйте, HotDog, Вы писали:

HD>Здравствуйте, Badenweiler, Вы писали:


B>>А так что насчет единиц
Автор: Badenweiler
Дата: 10.10.05
? Я доьрался-таки до скроллинга и без разрешения этого вопроса не могу двигаться дальше.


HD>Я видать что то не просекаю.. А чем тебе MinValue и MaxValue как long не понравились? Скролеру ведь должно быть фиолетово что значит к примеру 150 — пиксели, метры или попугаи.


А чем по-вашему оперирует декорируемый? А если проскроллить окошко колесом мыши? Должно проскроллиться 3 строки, а не 3 пикселя! (3 строки — стандартное значение в настройках винд)
... << Anywhere but home :: fb2k: ? — ? >>
Re[15]: ScrollBars-2
От: Badenweiler Россия http://helloimyourmind.com/
Дата: 12.10.05 14:50
Оценка: +1
Здравствуйте, VladD2.

Я сегодня опять почти все немного переделал . Перенес скроллы в новый проект, который по рпзмерам почти сравнялся со StyledControls.

А ведь довольно гибкая система получается. Можно, например сделать скроллы а-ля MacOS X (скролл + под ним 2 кнопки) или как в MS Word добавить к ним какие-нить доп. кнопки. Ну и стили отображения
Автор: pearlie
Дата: 19.09.05
тоже можно. Красота
... << Anywhere but home :: silent >>
Re[18]: ScrollBars-2
От: HotDog Швейцария www.denebspace.com
Дата: 12.10.05 14:51
Оценка:
Здравствуйте, Badenweiler, Вы писали:

B>А чем по-вашему оперирует декорируемый? А если проскроллить окошко колесом мыши? Должно проскроллиться 3 строки, а не 3 пикселя! (3 строки — стандартное значение в настройках винд)


А если я твой скролер хочу применить в графическом редакторе? Ты собираешься скролить картинку на 3 строки?

Мне кажется телега катится не в ту сторону.

В общем я себе представлял это так себе:
Скролер меняет значения Value в пределах MinValue, MaxValue.
При изменении пуляется евент. И приложение, которое использует эти скролеры должным образом реагирует.
Иначе ты напишеь сролер который заточен только на текстовый редактор и не на что более.

Ну или возможно я уже потерял нить дискуссии и речь идет именно о текстовом скролере, тогда заранее прошу прощения.
Re[19]: ScrollBars-2
От: Badenweiler Россия http://helloimyourmind.com/
Дата: 12.10.05 14:57
Оценка:
Здравствуйте, HotDog, Вы писали:

HD>Мне кажется телега катится не в ту сторону.


HD>В общем я себе представлял это так себе:

HD>Скролер меняет значения Value в пределах MinValue, MaxValue.
Ни value, ни MinValue, MaxValue там нет
HD>При изменении пуляется евент. И приложение, которое использует эти скролеры должным образом реагирует.
Декорируемы пусть будет изолирован он декоратора и не должен заниматься делами декоратора — на то он и декорируемый
HD>Иначе ты напишеь сролер который заточен только на текстовый редактор и не на что более.
А какая проблема в, например, граф редакторе за единицу контента применить тот же пиксель? Или десять?

HD>Ну или возможно я уже потерял нить дискуссии и речь идет именно о текстовом скролере, тогда заранее прошу прощения.

Да нет, он подойдет для любого контента
... << Anywhere but home :: silent >>
Re[18]: ScrollBars-2
От: stele Россия www.stele.su
Дата: 14.10.05 12:32
Оценка:
Здравствуйте, Badenweiler, Вы писали:

B>А чем по-вашему оперирует декорируемый? А если проскроллить окошко колесом мыши? Должно проскроллиться 3 строки, а не 3 пикселя! (3 строки — стандартное значение в настройках винд)


А если это значение изменено? Должно скролироваться столько сколько хочет пользователь, а не 3.
... <<My edition based on RSDN@Home 1.2.0 alpha rev. 618>>
В задаче спрашивается:
Сколько вытечет портвейна из открытого бассейна?
Re[19]: ScrollBars-2
От: Badenweiler Россия http://helloimyourmind.com/
Дата: 15.10.05 11:12
Оценка: +2
Здравствуйте, stele, Вы писали:

B>>А чем по-вашему оперирует декорируемый? А если проскроллить окошко колесом мыши? Должно проскроллиться 3 строки, а не 3 пикселя! (3 строки — стандартное значение в настройках винд)


S>А если это значение изменено? Должно скролироваться столько сколько хочет пользователь, а не 3.


SystemInformation.MouseWheelScrollLines
и этим все сказано
... << Anywhere but home :: silent >>
Re: Цветные контролы
От: Badenweiler Россия http://helloimyourmind.com/
Дата: 17.10.05 10:46
Оценка:
Сегодня на лекции по мат. логике сообразил вот такой логотипчик для скроллов. Только что вот нарисовал. И не говорите, что не похоже на цвяточек (я не любитель флоры, но так вышло):
... << Anywhere but home :: fb2k: ? — ? >>
Re[2]: Цветные контролы
От: HotDog Швейцария www.denebspace.com
Дата: 17.10.05 14:52
Оценка: 1 (1) +1
Здравствуйте, Badenweiler, Вы писали:

B>


В дизайнеры тебя надо
Re[3]: Цветные контролы
От: Badenweiler Россия http://helloimyourmind.com/
Дата: 18.10.05 02:27
Оценка:
Здравствуйте, HotDog, Вы писали:

HD>Здравствуйте, Badenweiler, Вы писали:


B>>


HD>В дизайнеры тебя надо


[скромно]Да полчаса в CorelDRAW, ничего сложного [/скромно]
... << Anywhere but home :: silent >>
Re[2]: Цветные контролы
От: stele Россия www.stele.su
Дата: 18.10.05 11:58
Оценка:
Здравствуйте, Badenweiler, Вы писали:

B>


Только кольцо, в смыле бутончик, надо в "ленту Мёбиуса" завернуть.
... <<My edition based on RSDN@Home 1.2.0 alpha rev. 618>>
В задаче спрашивается:
Сколько вытечет портвейна из открытого бассейна?
Re[10]: ScrollBars-2
От: vdimas Россия  
Дата: 18.10.05 20:31
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Попробую еще раз.


[skip]

VD>Таким боразом, для контрола это убдет чистый паттерн декоратор. А для меня еще и объект-скроллбар.


А зачем все это, если не секрет?
Для того, чтобы отобразить скролл-бары без создания отдельных окошек для них надо просто выставить стили окна WS_VSCROLL, WS_HSCROLL, при этом само окно выделит необходимое место в неклиентской части окна.

Затем, чтобы по-своему рисовать эти скроллбары надо всего-навсего самому обрабатывать WM_NCPAINT сообщение.

Далее, с логикой скролл-баров возиться тоже не надо, эта логика выполняется автоматически окном при выставленных стилях WS_VSCROLL или WS_HSCROLL. Мы можем устанавливать параметры скролл-баров через SetScrollInfo, SetScrollPos, SetScrollRange. Само окно должно реагировать на WM_HSCROLL и WM_VSCROLL.

Т.е., всего-то требуется самому нарисовать неклиентскую часть окна, текущие параметры скролл-баров можно получать зеркальными ф-иями GetScrollBarInfo, GetScrollInfo, GetScrollPos и т.д., как удобно (достаточно одного из GetScrollBarInfo или GetScrollInfo).


Далее. Если ты, Влад, пишешь на 2-й версии, то там есть ControlRenderer, который умеет рендерить контролы "в тему", т.е. надо просто вызвать его методы с нужными параметрами для отрисовки элементов скролл-баров.
Re[11]: ScrollBars-2
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.10.05 08:42
Оценка:
Здравствуйте, vdimas, Вы писали:

V>А зачем все это, если не секрет?

V>Для того, чтобы отобразить скролл-бары без создания отдельных окошек для них надо просто выставить стили окна WS_VSCROLL, WS_HSCROLL, при этом само окно выделит необходимое место в неклиентской части окна.

К сожалению, не на всех платформах поддерживаются все возможности скролбаров. К тому же рисованные скролбары будут очень удобны.

V>Затем, чтобы по-своему рисовать эти скроллбары надо всего-навсего самому обрабатывать WM_NCPAINT сообщение.


V>Далее, с логикой скролл-баров возиться тоже не надо, эта логика выполняется автоматически окном при выставленных стилях WS_VSCROLL или WS_HSCROLL. Мы можем устанавливать параметры скролл-баров через SetScrollInfo, SetScrollPos, SetScrollRange. Само окно должно реагировать на WM_HSCROLL и WM_VSCROLL.


Это все завязки на Виндовс. А такая библиотека может быть с успехом испльзована как на других платформах, так и на том же виндовс, но с собственным "Лук энд фил" (ну, там скролбары в Маковском стиле...).

V>Далее. Если ты, Влад, пишешь на 2-й версии, то там есть ControlRenderer, который умеет рендерить контролы "в тему", т.е. надо просто вызвать его методы с нужными параметрами для отрисовки элементов скролл-баров.


Об этом я уже говорил. Но он делает (по-умолчанию) "Цветные контролы" потому речь и ведется о выделении логики отрисовке.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Цветные контролы
От: Badenweiler Россия http://helloimyourmind.com/
Дата: 19.10.05 08:52
Оценка:
Здравствуйте, stele, Вы писали:

S>Здравствуйте, Badenweiler, Вы писали:


B>>


S>Только кольцо, в смыле бутончик, надо в "ленту Мёбиуса" завернуть.

Какое кольцо?
... << Anywhere but home :: fb2k: ? — ? >>
Re[12]: ScrollBars-2
От: Badenweiler Россия http://helloimyourmind.com/
Дата: 19.10.05 10:39
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Но он делает (по-умолчанию) "Цветные контролы" потому речь и ведется о выделении логики отрисовке.


по-умолчанию теперь раз rectangle, два rectangle, три rectangle и SystemColors.Control. Хотя "цветными" их сделать не сложно.

Получается двойная изоляция:


Control //декорируемый
   ^ //изоляция раз
ScrollDecorator //декоратор. В последнее время значительно похудел за счет нижеследующих
   ^ //изоляция два
ScrollBarImage //образ скроллбара (одного - H или V). Предоставляет отдельный стиль/порядок/отрисовку
   ^
ScrollElement //Наследники - ScrollButton, ScrollThumb - элементы скроллера.
... << Anywhere but home :: fb2k: ? — ? >>
Re[13]: ScrollBars-2
От: Badenweiler Россия http://helloimyourmind.com/
Дата: 19.10.05 11:00
Оценка:
Здравствуйте, Badenweiler, Вы писали:

B>по-умолчанию теперь раз rectangle, два rectangle, три rectangle

Т.е. не так. Юзаю ControlPaint
... << Anywhere but home :: fb2k: ? — ? >>
Re[15]: ScrollBars-2
От: Badenweiler Россия http://helloimyourmind.com/
Дата: 21.10.05 02:27
Оценка:
Здравствуйте, VladD2.

Все-же нужно вернуться к единицам контента:

[offftopic]
Как логотипчик
Автор: Badenweiler
Дата: 17.10.05
?
[/offftopic]
... << Anywhere but home :: fb2k: Moby — One Of These Mornings >>
Re: Цветные контролы
От: Badenweiler Россия http://helloimyourmind.com/
Дата: 22.10.05 18:10
Оценка:
На ScrollDecorator уже можно посмотреть (только смотреть, сбилдить не выйдет ). Конечно, все получилось как-то разрозненно, родственный код раскидан по разным местам. Но уже можно что0то понять.
... << Anywhere but home :: silent >>
Re[16]: ScrollBars-2
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.10.05 17:41
Оценка:
Здравствуйте, Badenweiler, Вы писали:

Контрол должен измерять все в попугаях, а уж интерпретация этих попугаев — это проблема прикладного программиста.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: ScrollBars-2
От: Badenweiler Россия http://helloimyourmind.com/
Дата: 24.10.05 02:40
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Badenweiler, Вы писали:


VD>Контрол должен измерять все в попугаях, а уж интерпретация этих попугаев — это проблема прикладного программиста.


И что?
Я уже добавил в интерфейс декорируемого свойства HUnitSize и VUnitSize.
... << Anywhere but home :: silent >>
Re[18]: ScrollBars-2
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.10.05 19:29
Оценка:
Здравствуйте, Badenweiler, Вы писали:

B>И что?

B>Я уже добавил в интерфейс декорируемого свойства HUnitSize и VUnitSize.

И что в них помещать?

Давай представим реальную ситуацию. Вот у меня редактор кода который скролирует текст по строкам. Что я должен буду указать в эти свойства?
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.