如何在ActionScript 3中将自定义上下文菜单添加到文本区域控件?

时间:2016-11-17 11:12:16

标签: actionscript-3 flex actionscript flex4

我使用以下代码声明文本区域:

<s:TextArea id="txtArea" width="{this.width}" height="{this.height}" borderVisible="false" focusAlpha="0.01" selectionHighlighting="always" styleName="scrollableText"needsSoftKeyboard="true" focusRect="false" direction="{textBoxDirction}" buttonMode="true" useHandCursor="true" mouseChildren="true"/>

我想在此文本区域添加自定义上下文菜单,并添加自定义上下文菜单,我使用以下代码:

var contextMenu = new ContextMenu();
contextMenu.hideBuiltInItems();
contextMenu.clipboardMenu = false;
contextMenu.addItem(new ContextMenuItem("Start Select"));
contextMenu.addItem(new ContextMenuItem("Start Copy"));

txtArea.contextMenu = contextMenu;

但我的问题是,在第一次右键单击中添加后,我将获得默认的上下文菜单,即 enter image description here

从第二次右键单击我得到我的自定义上下文菜单,即 enter image description here

我无法知道为什么我没有从第一次右键单击获取自定义上下文菜单。

所以如果有人能找到我做错的地方或如何解决这个问题,请帮我解决。

1 个答案:

答案 0 :(得分:0)

以下代码解决了我的问题:

var contextMenu = new ContextMenu();
contextMenu.hideBuiltInItems();
contextMenu.clipboardMenu = false;
contextMenu.addItem(new ContextMenuItem("Start Select"));
contextMenu.addItem(new ContextMenuItem("Start Copy"));

(txtArea.textDisplay as RichEditableText).contextMenu = contextMenu;

如果我们将如上所述放置 richEditableText ,而不是将自定义上下文菜单直接放入 textArea 控件,那么这将解决此问题。