【问题标题】:Set TextArea as read-only in Flash?在 Flash 中将 TextArea 设置为只读?
【发布时间】:2011-05-26 04:37:06
【问题描述】:

我是 Flash 新手,我想将 TextArea 设为只读,这样用户就无法复制和粘贴文本。

这可能吗?

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

谢谢

【问题讨论】:

  • TextArea.editable = true OR false

标签: flash flash-cs5


【解决方案1】:

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

【讨论】:

    【解决方案2】:
    【解决方案3】:

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

    希望这能解决你的问题。

    【讨论】:

      【解决方案4】:

      这是我快速制作的一个类,您可能会觉得有用:

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

      【讨论】:

      • 看起来有点矫枉过正。 据我所知,设置 TextArea 可编辑标签将提供相同数量的保护。如果有人想复制文本,在这两种情况下,他们都必须反编译 SWF 并找到包含该文本的代码行(谁会这样做?)。
      • 没错,老实说我什至不知道有一个可编辑/可选择的属性哈哈。
      • @Benjammin' - 我有可编辑的未选中状态,但这只是意味着他们无法将文本添加到仍然可以突出显示以进行复制和粘贴的框中。它可以用于动态文本区域,因此认为它也可以用于组件 TextAra。
      • 试试我的动态文本新答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多