Просмотр полной версии : Красивый курсор в input TextField
Клиент заказал небольшой флеш-редактор. По примеру Windows Paint есть возможность размещать в рамках рабочей зоны текстовые поля (input TextField). Но клиент хочет большего. Он желает видеть не обычный тоненький курсор в конце, а жирный и красивый. Хотя бы просто прямоугольник потолще. Я лично додумался только до того, чтобы в конец введённого текста цеплять символ, который представляет собой прямоугольник, а потом на setInterval "повесить" изменение цвета этого последнего символа с помощью обьекта TextFormat. Но, насколько я понимаю, после этого последнего прямоугольного символа будет мигать ещё и обычный тоненький текстовый курсор.
Поэтому, вопросы:
1. Есть ли возможность скрыть текстовый курсор? Если есть, то как?
2. Есть ли возможность получить координаты отдельной буквы (верхнего левого угла ограничивающего прямоугольника) в текстовом поле ввода? Если есть, то как?
Кто-нибудь может помочь? Или, возможно, есть альтернативные решения?
PS:
Принципиально важно найти решение, которое подходит для 7-го плеера.
Насколько я помню, в 7ом плеере, нифига не работают методы взятия размеров текста ( хотя попробуй getTextExtend).
Есть еще одна дикая идея, это сделать, текстовое поле динамическим, а не input, и когда, поле в фокусе, просто читать введеный символ.
В этом случае, точно не будет никаких, багов с конфликтами курсора, но придется погемороится с выделением.
2 Nirth:
Да, спасибо... Метод действительно "дубовый", но надёжный, как те старые осциллографы, что стоят у нас на факультете. ^_^ Может и рассмотрю этот метод... Клиент действительно хочет жирный курсор. ^_^ Что ж с него возьмёшь?
Что ж с него возьмёшь?
Отказать.
2 __etc:
Ну зачем сразу отказывать? Можно найти компромисс, который будет не полностью удовлетворять клиента и в то же время от разработчика не потребует много времени на выполнение. ^_^ Хотя, не исключено, что в данном случае откажем. Зависит от дедлайна...
Эта задача должна оговариваться отдельно. Если вы можете это реализовать (а это наверняка потребует много времени), то добавляйте в счёт за работу энную сумму.
Если эта задача, по совокупности, занимает большую часть времени всей разработки (а в плане функциональности — не добавляет ничего), то не имеет смысла делать.
а обновлять введенную строку, добавляя-удаляя спецсимвол прямоугольничка в конце? Сделать ембедфонт с таким символом и делов.
а обновлять введенную строку, добавляя-удаляя спецсимвол прямоугольничка в конце? Сделать ембедфонт с таким символом и делов.
Wolsh, а курсор как убирать будешь? А если нужно переставить курсор в начало или в середину слова?
а обновлять введенную строку, добавляя-удаляя спецсимвол прямоугольничка в конце? Сделать ембедфонт с таким символом и делов.
Вы невнимательно читали первое сообщение в теме. ^_^
Речь ведь идет именно о "прямоугольничке в конце", так пишет Хемуль.
Попробуйте? В Ариал это символы :
9612 - смещен влево
9616 - смещен вправо
9608 - смещен влево но очень широкий
а, сорри. А может всёже попробовать :) 9616
Насколько я помню (но могу ошибаться), есть возможность задавать стиль - в том числе просвет между буквами - для фрагмента текста. Или это только в восьмёрке?
Солидарен с __etc время и нервы потраченные на то, чтобы объяснить заказчику, что по техническим причинам не представляется возможным выполнить его просьбу - мелочь в сравнении с головной болью от выполнения этой самой просьбы %)
Но если просто самому очень хочется заморочится, то я наверное сделал бы так: положил динамик поле над инпутом, запретил бы в нем выделение, включил фон (чтобы нижнее поле не было видно) и все операции с нижним инпутом отображал бы в верхнем... Но вообще, я не люблю когда юзеру навязывают непривычные элементы управления. С точки зрения восприятия интерфейса на интуитивном уровне это только вредит.
2 wvxvw:
Да я понимаю... Просто вроде как в ТЗ этого не было, но когда клиент давал эскиз дизайна для интерфейса, в тестовом поле у него был жирный курсор...
Ладно, разберёмся...
Насколько я знаю, даже в приложениях на С++ не меняют курсоры, по крайней мере ниче на СШарп\Яве подобного не видел, можно использовать как аргументацию. Что это на на нижнем уровне системы.
Попробовал всяко... Получается похоже, но не то. Пока видится самое реальное - моноширинный шрифт и расчет координат перекрывающего курсор клипа. Если скроллинга не будет, в принципе не сложно. Со скроллингом сложнее, но тоже вероятно.
Ну и как вариант - написать текстфилд самому и слушать нажатия клавиш :) там рисуй какие хочешь курсоры
2 Nirth:
О, неплохо... Спасибо. ^_^
2 Wolsh:
Угу... Товарищ Nirth уже это предлагал. Наверное, самый надёжный способ...
Хемуль, если у тебя что-нибудь получится (кроме отмазки от заказчика), ты уж поделись. Обожаю извращаться над стандартами
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.