2011-05-26 44 views
0

我是Flash新手,我有一个TextArea我想使其成为只读,因此用户无法复制和粘贴文本。在Flash中将TextArea设置为只读?

这可能吗?

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

感谢

+1

TextArea.editable = true或false – 2011-05-26 04:49:56

回答

3

有一个editable属性的文本区域。你可以使用它。但是,我非常肯定,要完全复制粘贴证明是不可能的。尽管如此,你可以努力。也许,从文本中创建图像并显示图像会使文本难以被复制,但并非不可能。

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"; 
+0

看起来像矫枉过正。就我所知*而言,设置TextArea可编辑标签将提供相同数量的保护*。如果有人想复制文本,在这两种情况下,他们都必须反编译SWF,并找到包含该文本的代码行(以及谁会这样做?)。 – 2011-05-26 04:56:02

+0

诚然,我真的不知道有一个可编辑/可选择的属性哈哈。 – Marty 2011-05-26 04:59:41

+0

@Benjammin' - 我有可编辑的未选中,但这意味着他们不能添加文本到框中,他们仍然可以突出显示复制和粘贴。它可能是一个dyanic文本区域,所以认为它也可以用于组件TextAra。 – CookieMonster 2011-05-26 05:05:10

1

所有你需要做的就是,右键点击你放在y上的textarea我们的网页。然后从弹出窗口中点击“编辑标签”或按“Shift + F5”。 textarea的属性窗口将会显示。如果尚未选择,请点击常规选项。然后只需点击属性窗口中的“只读”复选框。您还可以通过选中“禁用的复选框”来防止选中,复制和粘贴textarea box的内容。

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