加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

使用小结(1)

发布时间:2020-12-16 23:33:23 所属栏目:大数据 来源:网络整理
导读:1、屏幕显示: 全屏状态: this.stage.displayState == "fullScreen" 最大化: stage.nativeWindow.maximize(); 最小化:同上使用 屏幕3显示判断: stage.displayState = (stage.displayState != "fullScreen")?"fullScreen":"normal"; 2、键盘事件: privat

1、屏幕显示:

全屏状态:

this.stage.displayState == "fullScreen"

最大化:

stage.nativeWindow.maximize();

最小化:同上使用

屏幕3显示判断:

stage.displayState = (stage.displayState != "fullScreen")?"fullScreen":"normal";

2、键盘事件:

private function EscKey(evt:KeyboardEvent):void{

if (evt.keyCode == Keyboard.F1 && evt.ctrlKey == true) //同时响应两个热键,这里为ctrl+F1

if (evt.keyCode == Keyboard.ESCAPE) //相应一个键盘事件,这里为ESC

}

3、控件与其父控件的大小

如下:

//this.stage.displayState == "fullScreen"; ----------------2

var la:Label = new Label();

la.width=vb.width*0.9;

vb.addChild(la);

this.stage.displayState == "fullScreen"; ----------------------1

运行时,有可能当前显示的大小不对,这是Flex通常是normal下的格式,所以vb的width是在normal下大小,然后在全屏,此时,vb全屏了,可是vb的孩子la却还是当vb是normal下的width;应该修改为把1,放到2的位置,这样就ok了

4、Datagrid显示序号

<mx:DataGridColumn headerText="序号" labelFunction="GetOrder" width="50"/>

<Script>

private function GetOrder(item:Object,column:DataGridColumn):String{

var list:ArrayCollection = listPersons.dataProvider as ArrayCollection;

var index:int = list.getItemIndex(item);

return String(index+1);

}

</Script>

5、程序最小化隐藏显示在右下角,右键显示菜单,单击启动

private function init():void{

var loader:Loader = new Loader();

loader.contentLoaderInfo.addEventListener(Event.COMPLETE,prepareForSystray);

loader.load(new URLRequest("assets/systray.png"));

}

private function windowClosing(evt:Event):void

{

evt.stopImmediatePropagation();

evt.stopPropagation();

evt.preventDefault();

dock();

}

private function closeApp(evt:Event):void

{

this.exit();

}

public function prepareForSystray(event:Event):void {

//Retrieve the image being used as the systray icon

dockImage = event.target.content.bitmapData;

//For windows systems we can set the systray props

//(there's also an implementation for mac's,it's similar and you can find it on the net... ;) )

if (NativeApplication.supportsSystemTrayIcon){

setSystemTrayProperties();

//Set some systray menu options,so that the user can right-click and access functionality

//without needing to open the application

SystemTrayIcon(NativeApplication.nativeApplication.icon).menu = createSystrayRootMenu();

}

dock();

}

private function createSystrayRootMenu():NativeMenu{

//Add the menuitems with the corresponding actions

var menu:NativeMenu = new NativeMenu();

var openNativeMenuItem:NativeMenuItem = new NativeMenuItem("显示");

var exitNativeMenuItem:NativeMenuItem = new NativeMenuItem("退出");

//What should happen when the user clicks on something...

openNativeMenuItem.addEventListener(Event.SELECT,undock);

exitNativeMenuItem.addEventListener(Event.SELECT,closeApp);

menu.addItem(openNativeMenuItem);

menu.addItem(new NativeMenuItem("",true));//separator

menu.addItem(exitNativeMenuItem);

return menu;

}

private function setSystemTrayProperties():void{

//Text to show when hovering of the docked application icon

SystemTrayIcon(NativeApplication.nativeApplication.icon).tooltip = "公告板程序";

//We want to be able to open the application after it has been docked

SystemTrayIcon(NativeApplication.nativeApplication.icon).addEventListener(MouseEvent.CLICK,undock);

//Listen to the display state changing of the window,so that we can catch the minimize

stage.nativeWindow.addEventListener(NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGING,nwMinimized); //Catch the minimize event

}

private function nwMinimized(displayStateEvent:NativeWindowDisplayStateEvent):void {

if(displayStateEvent.afterDisplayState == NativeWindowDisplayState.MINIMIZED) {

//Prevent the windowedapplication minimize action from happening and implement our own minimize

//The reason the windowedapplication minimize action is caught,is that if active we're not able to

//undock the application back neatly. The application doesn't become visible directly,but only after clicking

//on the taskbars application link. (Not sure yet what happens exactly with standard minimize)

displayStateEvent.preventDefault();

//Dock (our own minimize)

dock();

}

}

public function dock():void {

//Hide the applcation

stage.nativeWindow.visible = false;

//Setting the bitmaps array will show the application icon in the systray

NativeApplication.nativeApplication.icon.bitmaps = [dockImage];

ModelManager.SendMsg(ModelManager.BOARDOVER);

}

public function undock(evt:Event):void {

//After setting the window to visible,make sure that the application is ordered to the front,

//else we'll still need to click on the application on the taskbar to make it visible

stage.nativeWindow.visible = true;

stage.nativeWindow.orderToFront();

stage.nativeWindow.activate();

//Clearing the bitmaps array also clears the applcation icon from the systray

NativeApplication.nativeApplication.icon.bitmaps = [];

this.stage.nativeWindow.maximize();

//this.stage.displayState = "fullScreen";

}

6、Flex显示的CSS(自定义的效果)效果必须定义在WindowedApplication中,其他地方不会显示的。

一个CSS效果:

<mx:Style>

Alert {

titleStyleName: "alertTitle";

messageStyleName: "alertMessage";

buttonStyleName: "alertButton";

dropShadowEnabled: true;

shadowDistance: 5;

shadowDirection: right;

cornerRadius: 5;

background-color: #E9FFEA;

}

.alertTitle {

letterSpacing: 0;

fontSize: 16;

color: red;

}

.alertMessage {

letterSpacing: 0;

fontSize: 16;

fontWeight: normal;

color: black;

}

.alertButton {

letterSpacing: 0;

fontSize: 16;

cornerRadius: 10;

fontWeight: normal;

}

ToolTip {

fontSize: 14;

fontWeight: normal;

backgroundColor: #22DD00;

dropShadowEnabled: true;

}

.body {

font-size: 12px;

font-family: Arial,Helvetica,sans-serif;

filter: style=1,startY=0,finishY=100,startX=100,finishX=100;

background-color: #666666;

}

</mx:Style>

Flex自带的名称前面不加“.”,如果想要引用自定义css,则前面加“.”,然后在相应属性的stylename=“body”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读