menu (TextField.menu プロパティ)

public menu : ContextMenu

contextMenu に指定した ContextMenu オブジェクトをテキストフィールド my_txt に関連付けます。ContextMenu クラスを使用すると、ユーザーが Flash Player 内を右クリック (Windows) または Control キーを押しながらクリック (Macintosh) したときに表示されるコンテキストメニューを修正することができます。

このプロパティを使用できるのは、選択可能 (編集可能) なテキストフィールドだけです。選択不可能なテキストフィールドに対しては効果がありません。

対応バージョン : ActionScript 1.0、Flash Player 7

次の例では、ContextMenu オブジェクト menu_cm をテキストフィールド news_txt に割り当てます。この ContextMenu オブジェクトには、"Resize" というラベルのカスタムメニュー項目があり、サイズ変更機能の追加に使用できる doResize() というコールバックハンドラが関連付けられています。ハンドラはここでは示していません。

this.createTextField("news_txt", this.getNextHighestDepth(), 10, 10, 320, 240);
news_txt.border = true;
news_txt.wordWrap = true;
news_txt.multiline = true;
news_txt.text = "To see the custom context menu item, right click (PC) or ";
news_txt.text += "control click (Mac) within the text field.";
var menu_cm:ContextMenu = new ContextMenu();
menu_cm.customItems.push(new ContextMenuItem("Resize", doResize));

function doResize(obj:TextField, item:ContextMenuItem):Void {
    // "Resize" code here
    trace("you selected: "+item.caption);
}
news_txt.menu = menu_cm;

テキストフィールド領域内を右クリック (Windows の場合) または Control キーを押しながらクリック (Macintosh の場合) すると、カスタムメニュー項目が表示されます。

メモ:Flash で既に使用されているメニューアイテムは使用できません。たとえば、Print... (ドットが 3 つ) は Flash で予約されているため、このメニューアイテムは使用できません。しかし、Print.. (ドットが 2 つ) などのように、Flash で使用されていないメニューアイテムは使用できます。

SWF ファイルにバージョン 2 のコンポーネントがある場合は、この例で使用している MovieClip.getNextHighestDepth() メソッドではなく、バージョン 2 コンポーネントの DepthManager クラスを使用します。

関連項目

Button, ContextMenu, ContextMenuItem, MovieClip


 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00002217.html