如果弹出窗口TitleWindow不加以控制的话,可以将窗口拖到flash活动范围外,那样就无法正常关闭该窗口,因此将该窗口添加鼠标拖动事件,如下:
//添加窗口移动事件,在窗口的定义标签中添加
<s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="978" height="658"
creationComplete="titlewindow1_creationCompleteHandler(event)"
close="PopUpManager.removePopUp(this);" windowMove="titlewindow1_windowMoveHandler(event)">//用户拖动窗口的响应
protected function titlewindow1_windowMoveHandler(event:TitleWindowBoundsEvent):void
{
event.target.x = event.target.x < 0 ? 0 : event.target.x;
event.target.x =(event.target.x + event.target.width > event.target.parent.width) ?
(event.target.parent.width - event.target.width) : event.target.x;
event.target.y = event.target.y < 0 ? 0 : event.target.y;
event.target.y = (event.target.y + event.target.height > event.target.parent.height) ?
event.target.parent.height - event.target.height : event.target.y;
}
本文介绍了一个Flash应用中TitleWindow组件的边界控制实现方法,通过监听并处理窗口移动事件,确保弹窗始终位于父容器内,避免因拖动导致窗口移出可视区域而无法关闭的问题。

275

被折叠的 条评论
为什么被折叠?



