ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文
Flex3 : NumericStepper コントロール
日時: 2010/06/21 13:37
名前: lightbox



ダウンロードページ


拡張子:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
	xmlns:mx="http://www.adobe.com/2006/mxml"
	initialize="initData();"
	applicationComplete="initApplication()"
	paddingLeft="0"
	paddingTop="0"
	paddingBottom="0"
	paddingRight="0"
	width="70"
>

<mx:Style source="Style.css" />

<mx:Script>
<![CDATA[

	import mx.events.*; 
	import mx.formatters.*;

	// 以下は未使用
	import mx.controls.*;
	import flash.display.*;
	import flash.events.*;

	// ※ この NumericStepper のユニーク番号
	private var jsid:String;

	// *********************************************************
	// ログ表示
	// *********************************************************
	public function firebug(data:Object):void {
	
		var fmt:DateFormatter = new DateFormatter();
	
		fmt.formatString = "YYYY/MM/DD HH:NN:SS";
		var logdt:String = fmt.format( new Date );
	
		ExternalInterface.call(
			"console.log", logdt,
			data+""
		);
	
	}

	// *********************************************************
	// アプリケーションの初期化
	// *********************************************************
	public function initData():void {

		// JavaScript に公開するメソッドの登録
		ExternalInterface.addCallback("setValue", 
			function(value:Number):void {
				ns.value = value;
			}
		);

		Security.allowDomain("*");
	}

	// *********************************************************
	// アプリケーションの初期化( 画面構築後 )
	// *********************************************************
	public function initApplication():void {

		// パラメータをプロパティとして持つ Object を取得
		// ※ flashvars に指定された内容 
		var param:Object = mx.core.Application.application.parameters;

		// 呼び出す function の番号
		// ※ この NumericStepper のユニーク番号
		jsid = param.jsid;

		// NumericStepper の初期値
		// ns は、NumericStepper の id
		ns.value	= param.value;
		ns.minimum	= param.minimum;
		ns.maximum	= param.maximum;
		ns.stepSize	= param.stepSize;
		ns.width	= param.width;

		// Flash の幅( NumericStepper と一致させる )
		this.width	= param.width;

		// デバッグ( firebug )
		firebug(jsid);

		// 外部 JavaScript の呼び出し
		// jsid が 01 の場合は、NumericStepper01 を呼び出す
		// NumericStepper の値が変化した場合のイベント処理
		ns.addEventListener( NumericStepperEvent.CHANGE,
			function(e:NumericStepperEvent):void {
				// JavaScript のメソッドを呼び出す
				ExternalInterface.call(
					"NumericStepper"+jsid, e.value
				);
				// デバッグ
				firebug(ns.value);
			}
		);

		// SHIFT キーを押していた場合
		this.stage.addEventListener( KeyboardEvent.KEY_DOWN,
			function(e:KeyboardEvent):void {
				if ( e.shiftKey ) {
					ns.stepSize = 10;
				}
				
			}
		);

		// 外部 JavaScript の呼び出し
		// jsid が 01 の場合は、NumericStepper01 を呼び出す
		// キーボードから変更した場合に即変更する
		this.stage.addEventListener( KeyboardEvent.KEY_UP,
			function(e:KeyboardEvent):void {
				// 転送
				ns.stepSize = param.stepSize;
				ExternalInterface.call(
					"NumericStepper"+jsid, ns.value
				);
				// デバッグ
				firebug(ns.value);
			}
		);

	}


]]>
</mx:Script>

<mx:NumericStepper
	id="ns" 
	minimum="6"
	maximum="1000" 
	stepSize="1" 
	value="8" 
	width="70"
/>

</mx:Application>
メンテナンス


日時: 2010/06/21 13:37
名前: lightbox