Adobe Flex - показывать пользовательскую подсказку при нажатии кнопки - PullRequest
2 голосов
/ 26 марта 2012

Я пытаюсь создать собственную всплывающую подсказку Flex в этом руководстве . В основном это просто набор ярлыков, показывающих цветовую легенду. Все это прекрасно работает, когда всплывающая подсказка показывает событие кнопки toolTipCreate:

<mx:Button label="ToolTip example" toolTip=" "
  toolTipCreate="toolTipCreateHandler(event)" />

Однако я хочу показать всплывающую подсказку при нажатии кнопки, а не ждать фактической задержки всплывающей подсказки. (В этом смысле я даже не уверен, применима ли вообще терминология «всплывающая подсказка», но это в другой раз). Я вызываю тот же обработчик с экземпляром ToolTipEvent, передаваемым в качестве аргумента:

<mx:Button label="ToolTip example" toolTip=" "
  click="toolTipCreateHandler(new ToolTipEvent(ToolTipEvent.CREATE, false, false, instanceOfMyCustomToolTip))" />

Тем не менее, это не работает, и это толкает меня вверх по стене, пытаясь понять, как это сделать. Это не такая уж редкость, но каждый пример, который я нахожу в Интернете, использует фактическую задержку всплывающей подсказки вместо нажатия кнопки. Любая помощь будет оценена.

P.S. - Я хочу сделать это как всплывающую подсказку, чтобы попытаться получить маленький «воздушный шарик» , как показано здесь .

РЕДАКТИРОВАТЬ : Я также пытался ToolTipManager.createToolTip в событии нажатия кнопки, но это также не работает.

<mx:Button id="ttt" label="Tooltip test"
  click="ToolTipManager.createToolTip(' ',75,75,'errorTipBelow',instanceOfMyCustomToolTip)"/>

1 Ответ

2 голосов
/ 27 марта 2012

После долгих исследований это невозможно в нынешнем виде. Вот что должно работать:

<mx:Button id="ttt" label="Tooltip test"
  click="createTooltip()"/>

private function createTooltip():void {
  ToolTipManager.toolTipClass = MyCustomToolTip;
  ToolTipManager.createToolTip('any text here');
}

На этом этапе ToolTipManager должен создать новую подсказку, используя класс, указанный в ToolTipManager.toolTipClass. Однако из-за еще не решенной ошибки в Adobe Flex SDK ToolTipManager.createToolTip игнорирует этот класс и всегда использует класс по умолчанию ToolTip.

Так что ничто кроме патча обезьяны не заставит это работать правильно. Нашел информацию об этой ошибке (и соответствующем патче) в этой записи блога . В посте рассказывается о Flex 3, но эта ошибка по-прежнему не устранена в Flex 4.5.1.

...