Я загружаю SWF-файл «cal» в другие SWF-файлы mdi_window.Таким образом, окно перемещается внутри приложения.
Проблема связана с осью xy для всплывающих окон, которые открываются в cal swf.Код для функции, которая открывает всплывающее окно:
private var eventPanel:ElixirEventPanel = null;
private function showEventEditPanel(item:CalendarItem,x:int,y:int):void{
eventPanel = ElixirEventPanel.sharedInstance;
eventPanel.setStyle("modalTrasparancy",0);
eventPanel.setStyle("modalTransparencyBlur",0);
eventPanel.setStyle("modalTransparencyColor",0xffffff);
eventPanel.setStyle("modalTransparencyDuration",0);
PopUpManager.addPopUp(eventPanel,DisplayObject(super), false);
eventPanel.calendarItem = item;
eventPanel.x = x - eventPanel.width;
eventPanel.y = y - eventPanel.height/2;
if(eventPanel.y < this.parent.scaleY + 100)
eventPanel.y = this.parent.scaleY + 100;
}
Теперь, когда этот SWF-файл загружается в другой файл, используя: (как вы можете видеть, я пытаюсь преобразовать локальные координаты в глобальные, используяфункция localToGlobal, но я предполагаю, что в этом я что-то не так делаю)
<s:SWFLoader id="template" source="Cal.swf" loadForCompatibility="true" width="100%" height="100%" scaleContent="true" complete="dump(event);"/>
<fx:Script>
<![CDATA[
private function dump(event:Event): void {
var panel:MovieClip = MovieClip(template.content);
var pt:Point = panel.localToGlobal(new Point(panel.x, panel.y));
}
]]>
</fx:Script>
Ось x & y всплывающего акта связана с расположением окна mdi_window, в которое загружается Cal.swf.Ось x & y работает нормально, если я полностью переместил окно mdi_window в верхний левый угол приложения.
Первое изображение показывает, как открывается всплывающее окно, когда я дважды щелкаю на 10:00 AM фиолетового цвета.цветное событие в моем календаре.
и теперь, когда я перемещаю свое окно, всплывающее окно также перемещается в сторону.Я снова нажал на то же фиолетовое событие в 10:00 здесь: Как я могу решить эту проблему.
Любые предложения приветствуются.
Бест Зи