Я как-то уже по привык что активные элементы (например кнопки)
при наезде мыши должны как-то показывать свою активность — суть нажимаемость.
Например исполнять highlight.
Когда же элемент не желает себя отобразить в hover состоянии (например гиперлинки иногда) то
он как-бы обязан изменить тип курсора на "перст указующий".
Вопрос вот возник в tree-view. Там есть +/- микро кнопочки у фолдеров.
По идее при наезде мышой на них курсор должен меняться так как в uxthemes
для них состояния hover нет. Вопрос актуальный в том смысле что не все
регионы в tree-view item себя ведут одинаково по mouse click.
Я имплементировал "палец" для +/- в tree-view и задумался вот
это правильно или нет?
CS>Вопрос вот возник в tree-view. Там есть +/- микро кнопочки у фолдеров. CS>По идее при наезде мышой на них курсор должен меняться так как в uxthemes CS>для них состояния hover нет. Вопрос актуальный в том смысле что не все CS>регионы в tree-view item себя ведут одинаково по mouse click.
CS>Я имплементировал "палец" для +/- в tree-view и задумался вот CS>это правильно или нет?
"Это орошо в том смысле, что четко показывает границы "кликабильности". Другое дело, что идет оно вразрез с поведением стандартного контрола...
Здравствуйте, c-smile, Вы писали: CS>Зверь, чего говорит твоя наука?
Может, это, того — сделать специальный курсор? Типа стрелка + махонький +/- в углу?
На первый взгляд это лучше иллюстрирует ожидаемое действие.
С другой стороны, пользователь может поставить себе нестандартный курсор сет, и тогда это творчество будет выглядеть просто кошмаром.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, c-smile, Вы писали:
CS>Я как-то уже по привык что активные элементы (например кнопки) CS>при наезде мыши должны как-то показывать свою активность — суть нажимаемость. CS>Например исполнять highlight.
Хе-хе, извините что несколько не в тему, и прошу не обижаться, но масштаб проблемы конечно поражает... Неужели все в приложении уже настолько удобно, приятно и понятно, что все оставшиеся проблемы — поведения плюсиков в дереве?
А если по теме — так меня такие лишние highlightы часто просто раздражают. Мышь проезжает над окном, а оно все начинает подмигивать, сверкать, а иногда еще и агукать-бреньчать, иногда даже подтормаживая при этом сам процесс движения мыши. Понятно, конечно, что мегагерцы и мега-(чего там измеряет скорость обработки треугольников в видеокарте) все дешевеют и надо куда-то девать всю эту мощность, 99% времени пропадающую зазря, но во всем нужна мера, тем более — в поведении контролов.
Здравствуйте, c-smile, Вы писали:
CS>Я имплементировал "палец" для +/- в tree-view и задумался вот CS>это правильно или нет?
CS>Зверь, чего говорит твоя наука?
Что говорит моя наука — фиг его знает
А вот лично я говорю, что это неправильно.
* Зачем нужно состояние hover?
Таким образом контрол символизирует, что "по мне можно кликнуть, и будет произведено действие".
* Всем ли кликабельным контролам нужно состояние hover?
Нет, далеко не всем. В идеале — только тем, о которых заведомо неизвестно либо а) границы контрола (плоские кнопки на тулбаре) либо б) вообще, что это за контрол (кастомные кнопки-картинки).
Т.е. обычным, привычным кнопкам (а в т.ч. и плюсикам/минусиками в дереве) состояние hover не нужно.
* И, наконец, что символизирует "перст указующий"?
Он символизирует клик и переход, т.е. смену контекста. Кнопочки в дереве под этот случай не подходят однозначно.
ЗХ>Т.е. обычным, привычным кнопкам (а в т.ч. и плюсикам/минусиками в дереве) состояние hover не нужно.
Не соглашусь. В стандартных темах XP кнопочка +/- в дереве имеет состояние hover, что, имхо, есть хорошо, потому что дает дополнительную визуальную информацию о регионе кликанья. Использовать ли в том же регионе cursor: hand — это еще тот вопрос. Например, в РСДН'овском дереве курср в виде руки нисколько не напрягает, потому что он органично воспринимается в контексте Web-страницы. Быть может и у Кодта такой курсор будет восприниматься органично —
Здравствуйте, Mamut, Вы писали:
ЗХ>>Т.е. обычным, привычным кнопкам (а в т.ч. и плюсикам/минусиками в дереве) состояние hover не нужно.
M>В стандартных темах XP кнопочка +/- в дереве имеет состояние hover...
Я чего-то не увидел, может не там смотрю?
Tree-view item — да, имеет такое состояние.
Tree-view item glyph — нет такого.
Здравствуйте, Зверёк Харьковский, Вы писали:
CS>>Я имплементировал "палец" для +/- в tree-view и задумался вот CS>>это правильно или нет?
ЗХ>* Зачем нужно состояние hover? ЗХ>Таким образом контрол символизирует, что "по мне можно кликнуть, и будет произведено действие".
Философский вопрос. При нажатии на плюс таки производится действо.
ЗХ>* И, наконец, что символизирует "перст указующий"? ЗХ>Он символизирует клик и переход, т.е. смену контекста. Кнопочки в дереве под этот случай не подходят однозначно.
Тоже философский вопрос. При нажатии на плюс ты оказываешься в другом контексте — картина мира изменилась.
ЗХ>Dixi.
Ну дык на каждый "дикси" у нас есть своя "нота беня"
M>>В стандартных темах XP кнопочка +/- в дереве имеет состояние hover...
CS>Я чего-то не увидел, может не там смотрю?
CS>Tree-view item — да, имеет такое состояние. CS>Tree-view item glyph — нет такого.
Сложно с вами всезнающими
А насчет hover я действительно глюкнул
Хм. Уверен, что где-то видел при наведении курсора на +/- он такой выпуклый становился и цвет слегка менял. А вот _где_ я такое поведение видел — не помню Кстати, весьма неплохо было и, тем более, соответствовало общему виндовому интерфейсу, где практически любой элемент имеет hover
Здравствуйте, c-smile, Вы писали:
CS>>>Я имплементировал "палец" для +/- в tree-view и задумался вот CS>>>это правильно или нет?
ЗХ>>* Зачем нужно состояние hover? ЗХ>>Таким образом контрол символизирует, что "по мне можно кликнуть, и будет произведено действие".
CS>Философский вопрос. При нажатии на плюс таки производится действо.
Я этого не отрицал. Но приложил к этому "каждому ли такому контролу нужен hover?"
ЗХ>>* И, наконец, что символизирует "перст указующий"? ЗХ>>Он символизирует клик и переход, т.е. смену контекста. Кнопочки в дереве под этот случай не подходят однозначно.
CS>Тоже философский вопрос. При нажатии на плюс ты оказываешься в другом контексте — картина мира изменилась.
Ну, это преувеличение. Картина мира не "изменилась" радикально, а "дополнилась" (если ветка открыта; в противоположном случае — "сократилась").
Здравствуйте, Mamut, Вы писали:
M>[...] Кстати, весьма неплохо было и, тем более, соответствовало общему виндовому интерфейсу, где практически любой элемент имеет hover
А что в этом хорошего, можешь объяснить?
Я, например, когда очевидная кнопка при наведении мыши начинает на меня "прыгать", раздражаюсь.
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>* Всем ли кликабельным контролам нужно состояние hover? ЗХ>Нет, далеко не всем. В идеале — только тем, о которых заведомо неизвестно либо а) границы контрола (плоские кнопки на тулбаре)
Это как раз и подходит.
ЗХ>Т.е. обычным, привычным кнопкам (а в т.ч. и плюсикам/минусиками в дереве) состояние hover не нужно.
Моё мнение.
Т.к. +/- в дереве появились не согодня => их поведение предсказуемо — это только распахивание дерева (хотя встречаются ui где не только — наверно это не правильно, но в контесте задачи может быть удобно) => специального заострения взгляда пользователя на такой очевидной фигне (именно фигне ) я бы не стал. Но т.к. элемент довольно таки маленький и, по опыту, пользователи довольно часто промахиваются, и если ты уж так хочешь , то можно сделать подсвечивание самих +/-, чтоб пользователь видел, куда он нацелен, но без изменения вида курсора.
ЗХ>* И, наконец, что символизирует "перст указующий"? ЗХ>Он символизирует клик и переход, т.е. смену контекста. Кнопочки в дереве под этот случай не подходят однозначно.
Странно, я всегда его расценивал не более чем другое начертание курсора. (Речь о win ui.)
/*…пропущенно…*/
CS>Вопрос вот возник в tree-view. Там есть +/- микро кнопочки у фолдеров. CS>По идее при наезде мышой на них курсор должен меняться так как в uxthemes CS>для них состояния hover нет. Вопрос актуальный в том смысле что не все CS>регионы в tree-view item себя ведут одинаково по mouse click.
, дело неблагородное, разве что в специализированных, например, редакторах (звуковых, графических), а TreeView — элемент управления "общего назначения".
CS>Я имплементировал "палец" для +/- в tree-view и задумался вот CS>это правильно или нет?
А вот изменение "картинки" самого плюса-минуса при наведении курсора — имхо было бы симпатично — например radio-buttons у меня делаются немного оранжевыми при наведении на них мышью. То, что подобного нет для узлов дерева, то кто его знает , почему? Может и забыли Для библиотеки "плюшевого" (ни капли сарказма и надменности в этих словах!!! библиотека достойная) это, имхо, неплохой бенефит.
Здравствуйте, c-smile, Вы писали: CS>Я имплементировал "палец" для +/- в tree-view и задумался вот CS>это правильно или нет?
Кстати, ты какие картинки берешь для [+]/[-]? Из текущей темы?
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>* И, наконец, что символизирует "перст указующий"? ЗХ>Он символизирует клик и переход, т.е. смену контекста. Кнопочки в дереве под этот случай не подходят однозначно.
А как обяснить поведение курсора над обычной кнопкой?
Совершенно не факт, что по нажатию на неё не откроется диалог, новая форма, а то и две.
Или следуя Вашим рассуждениям в таких случаях курсор должен меняться на "перст указующий", типа меняется контекст и все такое?
А что касается того почему у стандартного Treeview курсор не меняется, то лично мое объяснение одно.
Отслеживание областей над которыми летает мышь и адекватное реагирование, в виде изменения курсора — дополнительная затрата рессурсов (сканирование и проч.)а так только отслеживаем клик — попал непопал на expand.
Здравствуйте, vladserge, Вы писали:
ЗХ>>* И, наконец, что символизирует "перст указующий"? ЗХ>>Он символизирует клик и переход, т.е. смену контекста. Кнопочки в дереве под этот случай не подходят однозначно.
V>А как обяснить поведение курсора над обычной кнопкой?
В общем — традициями. (к слову, коллеги, кто первый найдет Мелкософтовские рекомендации по использованию курсоров — желательно и старые, уровня Win98, и самые свежие)
В "чисто Win" диалоговом интерфейсе, если мне не изменяет память, "лапка" использовалась крайне редко (да и то не по делу). Активное ее использование началось с гиперссылок в браузерах => затем гиперссылки проникли и в оконный интерфейс. Т.е. мое утверждение можно было бы сузить до "лапка символизирует гиперссылку", но в современном IUI/BBOP
гиперссылку от кнопки по виду уже отличить тяжеловато Поэтому я и сформулировал "расплывчато". Под "переходом"/"сменой контекста" в большинстве случаев надо понимать полную замену содержимого текущего окна другим содержимым (что в более старых стандартах интерфейса практически не встречалось). Где-то так.
V>А что касается того почему у стандартного Treeview курсор не меняется, то лично мое объяснение одно. V>Отслеживание областей над которыми летает мышь и адекватное реагирование, в виде изменения курсора — дополнительная затрата рессурсов (сканирование и проч.)а так только отслеживаем клик — попал непопал на expand.
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Здравствуйте, vladserge, Вы писали:
V>>А что касается того почему у стандартного Treeview курсор не меняется, то лично мое объяснение одно. V>>Отслеживание областей над которыми летает мышь и адекватное реагирование, в виде изменения курсора — дополнительная затрата рессурсов (сканирование и проч.)а так только отслеживаем клик — попал непопал на expand.
ЗХ>Это не смешно
Конечно, с точки зрения сегодняшнего дня.
А если вспомнить, когда эти контролы впервые появились и какое в то время железо было.
Ну и как контролописатель могу сказать, что не все там так уж и тривиально.
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Здравствуйте, vladserge, Вы писали:
ЗХ>>>* И, наконец, что символизирует "перст указующий"? ЗХ>>>Он символизирует клик и переход, т.е. смену контекста. Кнопочки в дереве под этот случай не подходят однозначно.
V>>А как обяснить поведение курсора над обычной кнопкой?
ЗХ>В "чисто Win" диалоговом интерфейсе, если мне не изменяет память, "лапка" использовалась крайне редко (да и то не по делу). Активное ее использование началось с гиперссылок в браузерах => затем гиперссылки проникли и в оконный интерфейс. Т.е. мое утверждение можно было бы сузить до "лапка символизирует гиперссылку", но в современном IUI/BBOP
гиперссылку от кнопки по виду уже отличить тяжеловато Поэтому я и сформулировал "расплывчато". Под "переходом"/"сменой контекста" в большинстве случаев надо понимать полную замену содержимого текущего окна другим содержимым (что в более старых стандартах интерфейса практически не встречалось). Где-то так.
да, забыл. переход по табам — содержимое меняется полностью(например интерфейс аксапты — таб на все окно) курсор над табом не меняется.
В своем иерархическом гриде я над экспандом курсор превращаю в руку.
Причем в руку он превращается именно когда курсор находится точна над квадратом экспанда, а не где-то в его области.
Так вот при быстром перемещении курсора над экспандами по вертикали, курсор соответственно быстро мигает меняя свое состояние с дефолтного на руку(перст). Ну и это мигание, некоторых, оно несколько раздражает. Может в этом причина? Хотя сомнительною. Hotspot — типа фича.