▼ActionScript 3.0メモ▼
コンテキストメニューの利用


コンテキストメニューを変更するFlashを作成する。

ソースコード
ContextMenuEx.as
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;
            }
        }
    }
}



−戻る−