看了看手册英文的,自己修改了下更适合中国"国情"

组件定义MyComp2.as

package mycomp
{
  import flash.events.KeyboardEvent;
  
  import mx.controls.TextArea;

  public class MyComp2 extends TextArea
  {
    public function MyComp2()
    {
      super();
      addEventListener(KeyboardEvent.KEY_DOWN,handleKeyDown);
    }
    private function handleKeyDown(evt:KeyboardEvent):void
    {
      if(evt.ctrlKey && evt.keyCode==90)
      text="";
    }
    
  }
}

注意类名和文件名同,同时包结构也要和目录结构一致。

扩展了TextArea添加了一个事件处理,用户按Ctrl+Z时会清空文本框。

主文件Main2.mxml:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:MyComp="mycomp.*" layout="vertical">
  <mx:Style>
    MyComp2{fontSize:14px;}
  </mx:Style>
  <MyComp:MyComp2 id="myTxt" color="#008800" text="这是一段测试用的文本..." />
</mx:Application>

注意名字空间mycomp.*这里很像import mycomp.*;呵呵。

结果:



注:
我们也可以不改变名字,人采用原来的,如下TextArea.as:
InBlock.gifpackage mycomp
InBlock.gif{
InBlock.gif  import mx.controls.TextArea;
InBlock.gif  import flash.events.KeyboardEvent;
InBlock.gif
   public class TextArea extends mx.controls.TextArea
InBlock.gif  {
InBlock.gif     public function TextArea()
InBlock.gif    {
InBlock.gif      super();
InBlock.gif      addEventListener(KeyboardEvent.KEY_DOWN,handleKeyDown);
InBlock.gif    }
InBlock.gif     private function handleKeyDown(evt:KeyboardEvent): void
InBlock.gif    {
InBlock.gif       if(evt.ctrlKey && evt.keyCode==90)
InBlock.gif      text="";
InBlock.gif    }
InBlock.gif  }
InBlock.gif}


主文件:
<? xml version ="1.0" encoding ="utf-8" ?>
< mx:Application xmlns:mx ="http://www.adobe.com/2006/mxml" xmlns:MyComp ="mycomp.*" layout ="vertical" >
   < mx:Style >
    TextArea{fontSize:14px;}
   </ mx:Style >
   < MyComp:TextArea id ="myTxt" color ="#008800" text ="这是一段测试用的文本..." />
   < mx:TextArea text ="这是系统默认的文本框" />
</ mx:Application >