AS3 FLASH text editor

Source: Internet
Author: User

Important code:
Package {
Import fl. controls. ColorPicker;
Import fl. controls. ComboBox;
Import flash. display. MovieClip;
Import flash. display. Sprite;
Import flash. events. EventDispatcher;
Import flash. text. TextField;
Import flash. text. TextFieldType;
Import flash. text. TextFieldAutoSize;
Import flash. events. MouseEvent;
Import flash. events. Event;
Import flash. text. Font;
Import flash. text. TextFormat;
Import flash. text. TextFormatAlign;
Import flash. ui. Mouse;
Import flash. utils. setTimeout;
/**
*...
* @ Author sand QQ: 8286659Http://www.taoshaw.com
*/
Public class main extends MovieClip {
// Enter the text box
Private var my_text: TextField;
// Bold button
Private var my_btn_bold: mc_bold;
// Tilt button
Private var my_btn_itlic: mc_itlic;
// Left
Private var my_btn_left: mc_auto_left;
// Center
Private var my_btn_middle: mc_auto_middle;
// Right
Private var my_btn_right: mc_auto_right;
// Underline
Private var my_btn_xiahuaxian: mc_xiahuaxian;
// Hyperlink
Private var my_btn_url: mc_url;
// Display the hyperlink input dialog box
Private var my_btn_url_shuru: mc_url_shuru;
// Image
Private var my_btn_pic: mc_pic;
// Image input box
Private var my_btn_pic_shuru: mc_pic_shuru;
// Font size
Private var my_btn_size: ComboBox;
// Font color
Private var my_Col: ColorPicker;
// Font size
Private var font_Arr: Array;
// Font
Private var my_btn_font: ComboBox;
// Obtain the font array
Private var my_Arr_font: Array;
// Set the font drop-down box style
Private var linkTextFormat: TextFormat;
// Select the index at the beginning of initialization and then select the index at the end
Private var my_Beginfocus: int =-1;
Private var my_Endfocus: int =-1;
Private var my_TextFormat: TextFormat;
// Display all objects
Private var my_Sprite: Sprite;
Public function main (){
My_text = new TextField ();
My_btn_bold = new mc_bold ();
My_btn_itlic = new mc_itlic ();
My_btn_left = new mc_auto_left ();
My_btn_middle = new mc_auto_middle ();
My_btn_right = new mc_auto_right ();
My_btn_xiahuaxian = new mc_xiahuaxian ();
My_btn_url = new mc_url ();
My_btn_url_shuru = new mc_url_shuru ();
My_btn_pic = new mc_pic ();
My_btn_pic_shuru = new mc_pic_shuru ();
My_btn_size = new ComboBox ();
My_Col = new ColorPicker ();
My_TextFormat = new TextFormat ();
My_Sprite = new Sprite ();
Font_Arr = new Array ();
// Obtain available system fonts
My_Arr_font = Font. enumerateFonts (true );
LinkTextFormat = new TextFormat ();
My_btn_font = new ComboBox ();
My_Sprite.addChildAt (my_text, 0 );
My_Sprite.addChildAt (my_btn_bold, 1 );
My_Sprite.addChildAt (my_btn_itlic, 2 );
My_Sprite.addChildAt (my_btn_size, 3 );
My_Sprite.addChildAt (my_Col, 4 );
My_Sprite.addChildAt (my_btn_font, 5 );
My_Sprite.addChildAt (my_btn_left, 6 );
My_Sprite.addChildAt (my_btn_middle, 7 );
My_Sprite.addChildAt (my_btn_right, 8 );
My_Sprite.addChildAt (my_btn_xiahuaxian, 9 );
My_Sprite.addChildAt (my_btn_url, 10 );
My_Sprite.addChildAt (my_btn_pic, 11 );
AddChild (my_Sprite );
// Display the text box
_ ShowTextField ();
// Display the bold button
_ ShowBtn_Bold ();
// Display the tilt button
_ ShowBtn_itlic ();
// Left
_ ShowBtn_left ();
// Center
_ ShowBtn_middle ();
// Display to the right
_ ShowBtn_right ();
// Underline button
_ ShowBtn_xiahuaxian ();
// Display the hyperlink button
_ ShowBtn_url ();
// Display the insert image button
_ ShowBtn_pic ();
// Display the font size
_ ShowBtn_size ();
// Display color component
_ ShowBtn_Col ();
// Display the font drop-down box
_ ShowBtn_font ();
// Font drop-down box style
_ StyleCombobox ();
  }
// Font drop-down box style
Private function _ styleCombobox (): void {
LinkTextFormat. font = "Arial ";
LinkTextFormat. size = 12;
// LinkTextFormat. bold = true;
LinkTextFormat. color = 0x171717;
  }
// Bold
Private function _ TextFormat_bold (): void {
My_TextFormat.bold =! My_TextFormat.bold;
  }
// Skew
Private function _ TextFormat_italic (): void {
My_TextFormat.italic =! My_TextFormat.italic;
  }
// Left
Private function _ TextFormat_auto_left (): void {
My_TextFormat.align = "left ";
  }
// Center
Private function _ TextFormat_auto_middle (): void {
My_TextFormat.align = "center ";
  }
// Right
Private function _ TextFormat_auto_right (): void {
My_TextFormat.align = "right ";
  }
// Underline
Private function _ TextFormat_xiahuaxian (): void {
My_TextFormat.underline =! My_TextFormat.underline;
  }
// Hyperlink
Private function _ TextFormat_url (e: MouseEvent): void {
// My_TextFormat.url ="Http://www.taoshaw.com"
My_TextFormat.url = my_btn_url_shuru.url_txt.text;
My_Sprite.removeChildAt (11 );
  }
// Cancel the hyperlink
Private function _ TextFormat_Clearurl (e: MouseEvent): void {
My_Sprite.removeChildAt (11 );
My_btn_url_shuru.url_txt.text = "";
  }
// Insert an image
Private function _ TextFormat_pic (e: MouseEvent): void {
My_text.htmlText + = " <br>"
// My_TextFormat.url = my_btn_url_shuru.url_txt.text;
// Trace ("Please insert an image ")
My_Sprite.removeChildAt (12 );
  }
// Cancel the insert image dialog box
Private function _ TextFormat_Clearpic (e: MouseEvent): void {
My_Sprite.removeChildAt (12 );
My_btn_pic_shuru.url_txt.text = "";
  }
// Set the drag
Private function stopDrags (e: MouseEvent): void {
E. currentTarget. stopDrag ();
  }
Private function startDrags (e: MouseEvent): void {
E. currentTarget. startDrag ();
  }
// Display the bold button
Private function _ showBtn_Bold (): void {
My_btn_bold.x = 35;
My_btn_bold.y = 25;
My_btn_bold.addEventListener (MouseEvent. ROLL_OVER, changeNext );
My_btn_bold.addEventListener (MouseEvent. ROLL_OUT, changeCurrent );
My_btn_bold.addEventListener (MouseEvent. CLICK, _ setTextFormat );
  }
// Display the font size button
Private function _ showBtn_size (): void {
My_btn_size.x = 90;
My_btn_size.y = 23;
My_btn_size.width = 70;
Font_Arr = [12, 14, 16, 18, 20, 22, 24, 32, 36, 96,120, 48, 60, 64, 80, 84,];
For (var I: uint = 0; I <font_Arr.length; I ++ ){
My_btn_size.addItem ({label: font_Arr, data: font_Arr });
   }
My_btn_size.addEventListener (Event. CHANGE, _ setTextFormatNext );
  }
// Display the tilt button
Private function _ showBtn_itlic (): void {
My_btn_itlic.x = 60;
My_btn_itlic.y = 25;
My_btn_itlic.addEventListener (MouseEvent. ROLL_OVER, changeNext );
My_btn_itlic.addEventListener (MouseEvent. ROLL_OUT, changeCurrent );
My_btn_itlic.addEventListener (MouseEvent. CLICK, _ setTextFormat );
  }
// Display the color button
Private function _ showBtn_Col (): void {
My_Col.x = 197;
My_Col.y = 22;
My_Col.addEventListener (Event. CLOSE, _ setTextFormatNext );
  }
// Display the font drop-down box
Private function _ showBtn_font (): void {
My_btn_font.x = 230;
My_btn_font.y = 22;
For (var I: uint = 0; I <my_Arr_font.length; I ++ ){
// Trace (my_Arr_font.fontName)
My_btn_font.addItem ({label: my_Arr_font.fontName });
   }
My_btn_font.textField.setStyle ("textFormat", linkTextFormat );
My_btn_font.dropdown.setRendererStyle ("textFormat", linkTextFormat );
My_btn_font.width = 115;
My_btn_font.addEventListener (Event. CHANGE, _ setTextFormatNext );
  }
// Display the left button
Private function _ showBtn_left (): void {
My_btn_left.x = 355;
My_btn_left.y = 25;
My_btn_left.addEventListener (MouseEvent. ROLL_OVER, changeNext );
My_btn_left.addEventListener (MouseEvent. ROLL_OUT, changeCurrent );
My_btn_left.addEventListener (MouseEvent. CLICK, _ setTextFormat );
  }
// Display the center button
Private function _ showBtn_middle (): void {
My_btn_middle.x = 380;
My_btn_middle.y = 25;
My_btn_middle.addEventListener (MouseEvent. ROLL_OVER, changeNext );
My_btn_middle.addEventListener (MouseEvent. ROLL_OUT, changeCurrent );
My_btn_middle.addEventListener (MouseEvent. CLICK, _ setTextFormat );
  }
// Display the right button
Private function _ showBtn_right (): void {
My_btn_right.x = 405;
My_btn_right.y = 25;
My_btn_right.addEventListener (MouseEvent. ROLL_OVER, changeNext );
My_btn_right.addEventListener (MouseEvent. ROLL_OUT, changeCurrent );
My_btn_right.addEventListener (MouseEvent. CLICK, _ setTextFormat );
  }
// Underline button
Private function _ showBtn_xiahuaxian (): void {
My_btn_xiahuaxian.x = 430;
My_btn_xiahuaxian.y = 25;
My_btn_xiahuaxian.addEventListener (MouseEvent. ROLL_OVER, changeNext );
My_btn_xiahuaxian.addEventListener (MouseEvent. ROLL_OUT, changeCurrent );
My_btn_xiahuaxian.addEventListener (MouseEvent. CLICK, _ setTextFormat );
  }
// Display the hyperlink button
Private function _ showBtn_url (): void {
My_btn_url.x = 455;
My_btn_url.y = 25;
My_btn_url.addEventListener (MouseEvent. ROLL_OVER, changeNext );
My_btn_url.addEventListener (MouseEvent. ROLL_OUT, changeCurrent );
My_btn_url.addEventListener (MouseEvent. CLICK, _ setTextFormat );
  }
// Display the insert image button
Private function _ showBtn_pic (): void {
My_btn_pic.x = 170;
My_btn_pic.y = 25;
My_btn_pic.addEventListener (MouseEvent. ROLL_OVER, changeNext );
My_btn_pic.addEventListener (MouseEvent. ROLL_OUT, changeCurrent );
My_btn_pic.addEventListener (MouseEvent. CLICK, _ setTextFormat );
  }
// Set the style ()
Private function _ setTextFormat (e: MouseEvent): void {
Switch (e. currentTarget ){
Case my_btn_bold:
_ TextFormat_bold ();
Break;
Case my_btn_itlic:
_ TextFormat_italic ();
Break;
Case my_btn_left:
_ TextFormat_auto_left ();
Break;
Case my_btn_middle:
_ TextFormat_auto_middle ();
Break;
Case my_btn_right:
_ TextFormat_auto_right ();
Break;
Case my_btn_xiahuaxian:
_ TextFormat_xiahuaxian ();
Break;
Case my_btn_url:
My_btn_url_shuru.x = 200;
My_btn_url_shuru.y = 130;
My_btn_url_shuru. OK .addEventListener (MouseEvent. CLICK, _ TextFormat_url );
My_btn_url_shuru.cancel.addEventListener (MouseEvent. CLICK, _ TextFormat_Clearurl );
My_btn_url_shuru.addEventListener (MouseEvent. MOUSE_DOWN, startDrags );
My_btn_url_shuru.addEventListener (MouseEvent. MOUSE_UP, stopDrags );
My_Sprite.addChildAt (my_btn_url_shuru, 11 );
Break;
Case my_btn_pic:
My_btn_pic_shuru.x = 200;
My_btn_pic_shuru.y = 130;
My_btn_pic_shuru. OK .addEventListener (MouseEvent. CLICK, _ TextFormat_pic );
My_btn_pic_shuru.cancel.addEventListener (MouseEvent. CLICK, _ TextFormat_Clearpic );
My_btn_pic_shuru.addEventListener (MouseEvent. MOUSE_DOWN, startDrags );
My_btn_pic_shuru.addEventListener (MouseEvent. MOUSE_UP, stopDrags );
My_Sprite.addChildAt (my_btn_pic_shuru, 12 );
Break;
   }
My_text.setTextFormat (my_TextFormat, my_Beginfocus, my_Endfocus );
  }
// Set the style (B)
Private function _ setTextFormatNext (e: Event): void {
Switch (e. currentTarget ){
Case my_btn_size:
My_TextFormat.size = my_btn_size.selectedItem.data;
Break;
Case my_Col:
My_TextFormat.color = my_Col.selectedColor;
Break;
Case my_btn_font:
My_TextFormat.font = my_btn_font.selectedLabel;
Break;
   }
My_text.setTextFormat (my_TextFormat, my_Beginfocus, my_Endfocus );
  }
// The bold button and the skewed button have a mouse slide effect.
Private function changeCurrent (e: MouseEvent): void {
MovieClip (e. currentTarget). gotoAndStop (1 );
  }
Private function changeNext (e: MouseEvent): void {
MovieClip (e. currentTarget). gotoAndStop (2 );
  }
// Display the input text box
Private function _ showTextField (): void {
My_text.x = 35;
My_text.y = 50;
My_text.width = 470;
My_text.height = 330;
// Input text type
My_text.type = TextFieldType. INPUT;
My_text.text = "Welcome to Taosha.Http://www.taoshaw.com";
My_text.border = true;
// Automatic line feed
My_text.wordWrap = true;
// Multi-line text
My_text.multiline = true;
My_text.borderColor = 0 xcccccc;
My_text.addEventListener (MouseEvent. CLICK, _ getjiaodian );
  }
// Obtain the selected text
Private function _ getjiaodian (e: MouseEvent): void {
My_Beginfocus = my_text.selectionBeginIndex;
My_Endfocus = my_text.selectionEndIndex;
  }
}
}

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.