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

Reply via email to