Flex全屏方法介绍

最近在做工作流的流程设计工具相关的内容,web应用使用了比较标准的分布方式,即上、左、右的布局方式,这样做的结果就是设计工具的设计界面相对较小,当遇到比较复杂的流程时就感觉设计的流程比较紧凑,设计工具的易用性不够好。为了解决这个问题,需要支持Flex的全屏模式。

想了下,可以通过以下方式实现Flex的全屏:

  1. 使用Flex的FullScreen模式,具体实现方式为:
    1. 修改html-template文件夹下的index.template.html文件,在AC_FL_RunContent中增加:"allowFullScreen", "true";在embed中增加:allowFullScreen="true"
    2. 通过设置stage.displayState 的值为 StageDisplayState.FULL_SCREEN来切换到全屏模式。

    缺点

    使用这种方式虽然能够将Flex切换到全屏模式,但是Flex中的InputText等控件是无法编辑的,而且在Flex的中央会出现"Press Esc To Exist Full Screen"。因而这种方式无法满足设计需求。

        当然,中央出现的字幕还是有办法去掉的,虽然去掉之后并不能改变结果。去掉中央的"Press Esc To Exist Full Screen"字幕的方法请见:

    http://stackoverflow.com/questions/1415436/flex-fullscreen-translate-edit-press-esc-to-exit-fullscreen-mode

    该文章讲解了去掉IE,Firefox中Flex全屏后字幕的方法。

  2. 通过showModalDialog来模拟Flex的全屏模式,showModalDialog中去掉工具栏、菜单栏、地址栏,同时将宽度和高度设置成屏幕的宽度和高度。但是这种方式实现起来比较复杂,因为涉及到数据同步的问题,同步的方式根据项目的复杂程度和需求要求不同而不同。比较简单的方式是在关闭showModalDialog时将数据同步主页面。因为这种方式实现复杂,容易出错,所以没有进行实现,有兴趣的朋友可以自己试试。
  3. 模拟IE的F11的全屏模式。当用户选择全屏模式的时候,模拟IE的F11 Press Down事件,隐藏掉IE的地址栏、菜单栏、工具栏等,同时将上部和左部的Frame隐藏掉,让右边的Frame全屏显示,达到预期的效果。

    IE的F11 PressDown 事件模拟方式实现如下:

    var shell = new ActiveXObject('WScript.Shell')
    shell.SendKeys('{F11}');

    Frame的隐藏方法当然有很多,就不详细介绍了。

    缺点

    这种方式需要用户修改IE的安全选项,具体方法为:

    1. Tools > Internet options > Security > Custom Level
    2. ActiveX controls and plug-ins>Initializing and Script ActiveX controls not marked as safe>Enable

    如果没有将上面选项设置成Enable,那么会报:automation server can't create object 错误。

     

    原创文章,转载请注明出处!
    All CopyRight Reserved !

    主页:http://jingtao.cnblogs.com

    QQ:307073463
    Email:jingtaodeemail@qq.com
    MSN:sunjingtao@live.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值