2011-05-26 126 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的內容。

我希望這能解決您的問題。