Просмотр полной версии : Dynamic TextField, цвет выделения
Уважаемые коллеги, подскажите пожалуйста, как изменить цвет выделения в динамическом текстовом поле?
Или хотя бы как узнать, какие символы в данный момент выделены?
В хелпах вроде по этому поводу ничего нет, но может какой-нибудь хак существует?
Или это невозможно? :confused: а то как-то грустно...
Спасибо.
Это возможно!
Цвет выделения - меняй цвет шрифта.
А узнать можно с помощью Select и не только что выделено!
Оригинал написал(а) gruf
Это возможно!
Цвет выделения - меняй цвет шрифта.
А узнать можно с помощью Select и не только что выделено!
Цвет шрифта никак не влияет на цвет выделеной области. Он всегда белый по черному.
Объект Selection уже обнаружила, спасибо :) Но это не помогло -- даже если узнаю позиции выделенного в данный момент текста и пременю к этому куску textFormat, он позволит поменять фонт, болд/италик, размер, но не цвет. :(
Nox Noctis
16.06.2004, 19:31
Оригинал написал(а) Aneta
а то как-то грустно...вот так мы победили сырость!..
// выдели текст
this.createTextField("TF", 1, 0, 0, 0, 0);
TF.autoSize = TF.border=TF.selectable=true;
//
TF.text = "Jackdaws love my big sphinx of quartz...";
//
this.onMouseUp = function() {
if (!Selection.getFocus().length) {
return;
}
var s = Selection.getBeginIndex();
var e = Selection.getEndIndex();
//
var format = TF.getTextFormat(s, e);
format.color = (random(256) << 16 | random(256) << 8 | random(256));
TF.setTextFormat(s, e, format);
//
Selection.setFocus(Selection.getFocus());
Selection.setSelection(e, e);
};
Оригинал написал(а) Nox Noctis
вот так мы победили сырость!..
Спасибо, конечно...
Но! Ваш код меняет цвет текста, который был выделен, уже _после_ того, как выделение снято.
А выделенный в данный момент текст остается себе белым по черному :(
Так что... "да здарвствует мыло душистое и веревка пушистая" в подписи оказалось более чем уместно ;)
Nox Noctis
16.06.2004, 20:07
Оригинал написал(а) Aneta
Цвет шрифта никак не влияет на цвет выделеной области. Он всегда белый по черному.мне казалось эти слова были произнесены осмысленно... я ошибся? :)
Да, осмысленно.. а что, что-то не так? :confused:
Я имела в виду, что вот те буквы, по которым только что провели нажатой мышкой, становятся белыми на черном фоне независимо от того, какие цвета и когда я выставляю текстовому полю в целом или каждому символу в отдельности.
Вот это поведение меня и не устраивает. Но как его изменить, и возможно ли это -- я не знаю. Пока что способа не найдено.
Почему-же у меня - выделяется чёрный текст синим, белый чёрным, чёрный белим, а насчёт Selection всё должно работать
gruf, а какая у Вас система и версия плеера?
Nox Noctis
17.06.2004, 01:49
Оригинал написал(а) Aneta
Пока что способа не найдено. и не будет найдено. (предчувствие :) )
а зачем тебе вообще такое, м ? :) правда не понятно...
Оригинал написал(а) Nox Noctis
и не будет найдено. (предчувствие :) )
а зачем тебе вообще такое, м ? :) правда не понятно...
Да у меня сам текст белый на черном фоне... И выделения на нем не видно :(((
Да и вообще как-то.. не по себе, когда обнаруживается что-то на что повлиять не можешь :)
Торопился прочетал первый трейд и попробывал написать получилось конечно коряво(торопился) но принцип понятен до ума довести можно, дерзайте :)
// выдели текст
alpha = 0;
xB = 0;
xE = 0;
//
this.createTextField("TF", 1, 0, 0, 0, 0);
this.createEmptyMovieClip("muv", 2);
TF.autoSize = TF.border=TF.selectable=true;
TF.text = "Jackdaws love my big sphinx of quartz...";
//
this.onEnterFrame = function() {
b = Selection.getBeginIndex();
e = Selection.getEndIndex();
if (b != -1 && e != -1) {
alpha = 70;
xB = b*(TF._width/TF.text.length);
xE = e*(TF._width/TF.text.length);
xB += 3;
xE += 4;
} else {
alpha = 0;
}
this.createEmptyMovieClip("muv", 2);
with (this.muv) {
beginFill(0xFFFFFF, alpha);
moveTo(xB, 2);
lineTo(xE, 2);
lineTo(xE, 17);
lineTo(xB, 17);
lineTo(xB, 0);
}
};
Да и цвет подобрать очень проблемотично но тоже можно ~*
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.