PDA

Просмотр полной версии : [bug] Стили у ToolTip'a


__i
02.02.2007, 22:04
Небольшая выдержка из класса mx.skins.halo.ToolTipBorder, изучите внимательно все, что касается цветов.

.....
override protected function updateDisplayList(w:Number, h:Number):void
{
super.updateDisplayList(w, h);

var borderStyle:String = getStyle("borderStyle");
var backgroundColor:uint = getStyle("backgroundColor");
var backgroundAlpha:Number= getStyle("backgroundAlpha");
var borderColor:uint = getStyle("borderColor");
var cornerRadius:Number = getStyle("cornerRadius");
var shadowColor:uint = getStyle("shadowColor");
var shadowAlpha:Number = 0.1;

var g:Graphics = graphics;
g.clear();

filters = [];

switch (borderStyle)
{
case "toolTip":
{
// face
drawRoundRect(
3, 1, w - 6, h - 4, cornerRadius,
backgroundColor, backgroundAlpha)

if (!dropShadow)
dropShadow = new RectangularDropShadow();

dropShadow.distance = 3;
dropShadow.angle = 90;
dropShadow.color = 0;
dropShadow.alpha = 0.4;

dropShadow.tlRadius = cornerRadius + 2;
dropShadow.trRadius = cornerRadius + 2;
dropShadow.blRadius = cornerRadius + 2;
dropShadow.brRadius = cornerRadius + 2;

dropShadow.drawShadow(graphics, 3, 0, w - 6, h - 4);

break;
}

case "errorTipRight":
{
// border
drawRoundRect(
11, 0, w - 11, h - 2, 3,
borderColor, backgroundAlpha);

// left pointer
g.beginFill(borderColor, backgroundAlpha);
g.moveTo(11, 7);
g.lineTo(0, 13);
g.lineTo(11, 19);
g.moveTo(11, 7);
g.endFill();

filters = [ new DropShadowFilter(2, 90, 0, 0.4) ];
break;
}

case "errorTipAbove":
{
// border
drawRoundRect(
0, 0, w, h - 13, 3,
borderColor, backgroundAlpha);

// bottom pointer
g.beginFill(borderColor, backgroundAlpha);
g.moveTo(9, h - 13);
g.lineTo(15, h - 2);
g.lineTo(21, h - 13);
g.moveTo(9, h - 13);
g.endFill();

filters = [ new DropShadowFilter(2, 90, 0, 0.4) ];
break;
}
...........

Теперь внимание вопрос:
Как задать цвет backgroundColor у конкретного тултипа когда он в стиле "errorTip*".

Думаете myToolTip.setStyle('backgroundColor', myColor)
ошибаетесь!
правильный ответ myToolTip.setStyle('borderColor', myColor)
ну, а про то как сдалать тултип для плоховидящих, я не буду говорить, лучше попробуйте сделать так:
myToolTip.setStyle('fontSize', 22)

зы
как создать свой тул тип смотрите хелп ToolTipManager.createToolTip