Similar to what I suggested; yet, it shouldn't have to be a sprite as a shape could do just as well I think.

Either way, you gave code and I didn't.

Taka Kojima wrote:
Hey Peter,

Hmm... i see the issue, very weird, probably classifies as a bug,
here's how I got around it:

public function DistributorsForm () :void {
   // sets styles ... set size =14 instead of default 16...
   StyleFlair.snapOnTextArea(details_ta, {size:14});
   details_ta.textField.selectable = false;

        var details_ta_overlay:Sprite = new Sprite();
        
        details_ta_overlay.graphics.beginFill(0xFFFFFF, 0);
        details_ta_overlay.graphics.drawRect(details_ta.x, details_ta.y,
details_ta.width - details_ta.verticalScrollBar.width,
details_ta.height - details_ta.horizontalScrollBar.height);
        details_ta_overlay.graphics.endFill();
        
        addChild(details_ta_overlay);
}


you could even extend TextArea to override the selectable setter to do
this or something, I'm sure there is a better/cleaner way to implement
this , but hey it works right?

Hope this helps.

 - Taka

On Fri, Mar 27, 2009 at 2:14 PM,  <[email protected]> wrote:
Joel, Ian,

I agree with you, because I thought I was doing it "by the book" (=AS3
Reference).

Thanks, you are willing to look at the code. Code is included however it is
extracted from the source files and not a working standalone example.

I extracted everything what is done with the details_ta TextArea-instance.
The details_ta is on the stage before the code is exectued. I compile all
code in Flex Builder 3 in a SWC-file which I link in as Library in Flash FLA
(Flash CS4), if that matters.

Text in the details_ta, when Test movie is executed, can be selected and
copied. I'll hope the code can help.

Code:

package {

 import fl.controls.TextArea;
 import flash.display.*;
 import flash.events.*;
 import flash.text.TextField;

 public class DistributorsForm extends ModuleTemplate  {
    public var details_ta:TextArea; // for displaying the list
    public function DistributorsForm () :void {
       // sets styles ... set size =14 instead of default 16...
       StyleFlair.snapOnTextArea(details_ta, {size:14});
       details_ta.textField.selectable = false;
    }

    // MUTATOR for the information GUI widget...
    public function set detailsWidget(s:String):void {
       details_ta.htmlText = s;
    };

   private function showDetails(distributors:Array) : void {
       var s:String = "";
       for each (var d:Distributor in distributors) {
          s = s.concat( htmlFormat(d), "<BR><BR>");
       }
       detailsWidget = s; // display the data
       }

       private function htmlFormat(d:Distributor):String {
         var blueColorFont:String = "<FONT COLOR='#99CCFF'>";
         var BREAK:String = "<BR>";
         var endFont:String = "</FONT>";

         // format details ...
         var details:String;
               details  = "<B>" + d.companyname + "</B>";
               details += d.contactperson + BREAK;
               details += d.address + BREAK;
               details += d.city + BREAK;
               details += d.telephone + BREAK;
               return details;
       }

  } // endof class
} // endof package



class StyleFlair {

  public static function snapOnTextArea(ta:TextArea,
                                 formatObj:Object=null):void {
      // set default format values, or have them override with formatObj
      var size:uint = 16;
       var color:String = "0xFFFFFF";
       if (formatObj != null) {
          if (formatObj.size != null) size = formatObj.size;
          if (formatObj.color != null) color = formatObj.color;
          if (formatObj.font != null) font = formatObj.font;
       }
       ta.editable = false;
       ta.enabled  = false;
       ta.setStyle("marginRight", 1);
       ta.setStyle("marginLeft", 1);
       var format:TextFormat = new TextFormat();
       format.font = font ;
       format.color = color;
       format.size = size;
       ta.setStyle("textFormat", format);
   }
}

class moduleTemplate is not shown but does do anything with details_ta, or
formatting components.

Peter

Citeren Joel Stransky <[email protected]>:

Somehow I doubt that.
How about posting your code so there's no confusion.

On Fri, Mar 27, 2009 at 3:36 PM, <[email protected]> wrote:

Joel,

Thanks, however that didn't work.
(sorry if I was not clear in my response on Ian's hint, because what you
wrote was exactly what I did)

Still no joy ...

Peter

Citeren Joel Stransky <[email protected]>:


 Target the TextArea's TextField
details_ta.textField.selectable = false;

On Fri, Mar 27, 2009 at 2:39 PM, <[email protected]> wrote:

 Ian,
thanks for replying. Unfortunately noop.

I use the htmlText property of the TextArea instance instead of the
text
prioperty to display text (such as details_ta.htmlText = "<b>text
sample</b>"; and details_ta is an TextArea instance on the stage).

Could that something have to do with it?

Peter

Citeren Ian Thomas <[email protected]>:


 Try:

 textArea.textField.selectable=false;

HTH,
 Ian

On Fri, Mar 27, 2009 at 4:38 PM,  <[email protected]> wrote:


I'll have to prevent users to copy text from a TextArea. In Flex I
saw
you
do that bij setting a selectable attribute of the
mx.controls.TextArea
to
false.

However, this seems not possible with the fl.controls.TextArea, which
is
used in Flash CS4 / AS3.

Does someone has a tip or hint.
Thanks.

PS. setting editable of the TextArea to false doesn't help, and
setting
the
enabled attribute of the TextArea to false gives a disabled look and
is
not
the intention.

Peter van der Post



_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

 _______________________________________________

Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders



_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


--
--Joel Stransky
stranskydesign.com
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders



--
--Joel Stransky
stranskydesign.com



_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to