Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.09.2007, 14:26
MaxD вне форума Посмотреть профиль Отправить личное сообщение для MaxD Найти все сообщения от MaxD
  № 1  
Ответить с цитированием
MaxD
 
Аватар для MaxD

Регистрация: Jan 2007
Адрес: Ukraine, Kyiv
Сообщений: 104
По умолчанию коордитаты ToolTip

Подскажите, как для ToolTip-а задать координаты относительно объекта, который его создает?
Например,
Код:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="800" height="600">
  	<mx:Button label="Button2" toolTip="Подсказка" horizontalCenter="0" bottom="10"/>
	<mx:Button label="Button1" toolTip="Подсказка" left="10" verticalCenter="0"/>
</mx:Application>
Для Button2 нужно, чтобы ToolTip выскакивал НАД кнопкой, а для Button1 - в координатах мышки.

Старый 03.09.2007, 15:23
Sneg вне форума Посмотреть профиль Отправить личное сообщение для Sneg Найти все сообщения от Sneg
  № 2  
Ответить с цитированием
Sneg
 
Аватар для Sneg

Регистрация: Oct 2005
Адрес: Russia, Moscow
Сообщений: 316
Отправить сообщение для Sneg с помощью ICQ
Можно использовать событие toolTipCreate - в котором переопределять координаты ToolTip'a
Код:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize="initApp()">
  <mx:Script><![CDATA[
  	import mx.core.IToolTip;
     import mx.managers.ToolTipManager;
     import mx.controls.ToolTip;
     import mx.events.ToolTipEvent;

     public function initApp():void {
        b1.addEventListener(ToolTipEvent.TOOL_TIP_SHOW, myToolTipChanger)
     }
     public function myToolTipChanger(event:ToolTipEvent):void {
        var tooltip:IToolTip=ToolTipManager.currentToolTip
        tooltip.text = "Click the button, " + event.currentTarget;
        tooltip.x=this.mouseX
        tooltip.y=this.mouseY
     }
  ]]>   </mx:Script>
  <mx:Button id="b1" label="Click Me" toolTip="Click the button"/>
</mx:Application>


Последний раз редактировалось Sneg; 03.09.2007 в 15:29.
Старый 03.09.2007, 17:13
MaxD вне форума Посмотреть профиль Отправить личное сообщение для MaxD Найти все сообщения от MaxD
  № 3  
Ответить с цитированием
MaxD
 
Аватар для MaxD

Регистрация: Jan 2007
Адрес: Ukraine, Kyiv
Сообщений: 104
Спасибо.
А если мне нужно для разных объектов разное размешение ToolTip, то как тогда? Как их различить?

Старый 03.09.2007, 17:31
MaxD вне форума Посмотреть профиль Отправить личное сообщение для MaxD Найти все сообщения от MaxD
  № 4  
Ответить с цитированием
MaxD
 
Аватар для MaxD

Регистрация: Jan 2007
Адрес: Ukraine, Kyiv
Сообщений: 104
И еще вопрос: если использовать этот вариант (от Sneg), то мне придется в функции initApp() для каждой кнопки добавлять addEventLisener.
Можно ли как-то один раз назначить для всех используемых здесь ToolTip координаты относительно объекта?

Старый 03.09.2007, 19:41
Sneg вне форума Посмотреть профиль Отправить личное сообщение для Sneg Найти все сообщения от Sneg
  № 5  
Ответить с цитированием
Sneg
 
Аватар для Sneg

Регистрация: Oct 2005
Адрес: Russia, Moscow
Сообщений: 316
Отправить сообщение для Sneg с помощью ICQ
У элемента наследумого от UIComponent есть событие (toolTipShow) которое легко задается в mxml, далее можно написать каждой кнопке отдельный обработчик- либо в делать switch(event.currentTarget) - где и описывать как реагировать каждому элементу на это событие.
Код:
<?xml version="1.0"?>
<!-- tooltips/DynamicToolTipText.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
  <mx:Script><![CDATA[
  	import mx.core.IToolTip;
     import mx.managers.ToolTipManager;
     import mx.controls.ToolTip;
     import mx.events.ToolTipEvent;

     public function myToolTipChanger(event:ToolTipEvent):void {
        var tooltip:IToolTip=ToolTipManager.currentToolTip
        var button:Button=event.currentTarget as Button
        switch(button)
        {
        	case(b1):
        	tooltip.text="I'am button b1"
        	tooltip.x=this.mouseX
        	tooltip.y=this.mouseY
        	break;
        	case(b2):
        	tooltip.text="I'am button b2"
        	break;
        }
     }
  ]]>   </mx:Script>
  <mx:Button id="b1" label="Click Me 1" toolTip="Hello!" toolTipShow="myToolTipChanger(event)"/>
  <mx:Button id="b2" label="Click Me 2" toolTip="Hello!" toolTipShow="myToolTipChanger(event)"/>
</mx:Application>

Старый 04.09.2007, 11:14
MaxD вне форума Посмотреть профиль Отправить личное сообщение для MaxD Найти все сообщения от MaxD
  № 6  
Ответить с цитированием
MaxD
 
Аватар для MaxD

Регистрация: Jan 2007
Адрес: Ukraine, Kyiv
Сообщений: 104
Спасибо

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:49.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 01:49.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.