package {
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.ui.*;
//コンテキストメニューの利用
[SWF(width=240, height=240, backgroundColor=0xFFFFFF)]
public class ContextMenuEx extends Sprite {
private var label:TextField;//ラベル
//コンストラクタ
public function ContextMenuEx() {
//ベースの生成
var base:Sprite=new Sprite();
base.graphics.beginFill(0xFFFFFF);
base.graphics.drawRect(0,0,240,240);
addChild(base);
//ラベルの生成
label=makeLabel("右クリック→文字色の変更");
base.addChild(label);
//コンテキストメニューの生成
var menu:ContextMenu=new ContextMenu();
base.contextMenu=menu;
//デフォルトアイテムの削除
menu.hideBuiltInItems();
//メニューアイテムの追加
var item:ContextMenuItem=new ContextMenuItem("文字色の変更");
menu.customItems.push(item);
item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,onMmenuItemSelect);
}
//ラベルの生成
private function makeLabel(text:String):TextField {
var label:TextField=new TextField();
label.text =text;
label.autoSize =TextFieldAutoSize.LEFT;
label.selectable=false;
return label;
}
//メニュー項目選択イベントの処理
private function onMmenuItemSelect(evt:ContextMenuEvent):void {
//文字色の変更
if (label.textColor==0x000000) {
label.textColor=0xFF0000;
} else {
label.textColor=0x000000;
}
}
}
}
|