在Flash中将TextArea设置为只读?

时间:2011-05-26 04:37:07

标签: flash flash-cs5

我是Flash新手,我有一个TextArea我想让它只读,所以用户无法复制和粘贴文本。

这可能吗?

示例或链接欢迎我不介意学习;)

由于

4 个答案:

答案 0 :(得分:3)

TextArea有editable属性。你可以用它。但是,我很确定不可能完全复制粘贴证明。但是你可以让它变得困难。也许,从文本中创建图像并显示图像会使文本很难被复制,但并非不可能。

答案 1 :(得分:2)

答案 2 :(得分:1)

您只需右键单击您放置在网页上的文本区域即可。然后从弹出窗口中单击“编辑标签”或按“Shift + F5”。将发送textarea的属性窗口。如果尚未选择,请单击“常规”选项。然后只需单击属性窗口中的“只读复选框”。您还可以通过选中“已禁用的复选框”来阻止选择,复制和粘贴textarea框的内容。

我希望这能解决你的问题。

答案 3 :(得分:0)

这是我很快就会发现你可能会觉得有用的课程:

package
{
    import flash.text.TextField;
    import flash.display.Bitmap;
    import flash.display.BitmapData;

    public class BitmapText extends Bitmap
    {
        // vars
        private var _textf:TextField;

        /**
         * Draws text onto the bitmap
         * @param tf The TextField to draw
         */
        public function drawText(tf:TextField):void
        {
            _textf = tf;

            bitmapData = new BitmapData(tf.width,tf.height,true);
            bitmapData.draw(tf);
        }

        /**
         * Update text
         * @param t The new text
         */
        public function set text(t:String):void
        {
            if(_textf)
            {
                _textf.text = t;
                drawText(_textf);
            }
        }
    }
}

使用这个课程:

var t:TextField = new TextField();
t.text = "some copy";

var bt:BitmapText = new BitmapText();
bt.drawText(t);

addChild(bt);

bt.text = "some new text lol";

如您所见,您可以通过以下方式轻松更新文本:

BitmapText.text = "new value";