重要代码:
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 沙子 QQ:8286659 http://www.taoshaw.com
*/
public class main extends MovieClip {
//输入文本框
private var my_text:TextField;
//加粗按钮
private var my_btn_bold:mc_bold;
//倾斜按钮
private var my_btn_itlic:mc_itlic;
//居左
private var my_btn_left:mc_auto_left;
//居中
private var my_btn_middle:mc_auto_middle;
//居右
private var my_btn_right:mc_auto_right;
//下划线
private var my_btn_xiahuaxian:mc_xiahuaxian;
//超链接
private var my_btn_url:mc_url;
//显示超链接输入对话框
private var my_btn_url_shuru:mc_url_shuru;
//图片
private var my_btn_pic:mc_pic;
//图片输入框
private var my_btn_pic_shuru:mc_pic_shuru;
//字体大小
private var my_btn_size:ComboBox;
//字体颜色
private var my_Col:ColorPicker;
//字号
private var font_Arr:Array;
//字体
private var my_btn_font:ComboBox;
//获取字体数组
private var my_Arr_font:Array;
//设置字体下拉框的样式
private var linkTextFormat:TextFormat;
//初始化开始选择索引跟结束选择索引
private var my_Beginfocus:int=-1;
private var my_Endfocus:int=-1;
private var my_TextFormat:TextFormat;
//显示所有对象
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();
//获取系统可用字体
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);
//显示文本框
_showTextField();
//显示加粗按钮
_showBtn_Bold();
//显示倾斜按钮
_showBtn_itlic();
//显示居左
_showBtn_left();
//显示居中
_showBtn_middle();
//显示居右
_showBtn_right();
//显示下划线按钮
_showBtn_xiahuaxian();
//显示超链接按钮
_showBtn_url();
//显示插入图片按钮
_showBtn_pic();
//显示字号
_showBtn_size();
//显示颜色组件
_showBtn_Col();
//显示字体下拉框
_showBtn_font();
//字体下拉框样式
_styleCombobox();
}
//字体下拉框样式
private function _styleCombobox():void {
linkTextFormat.font = "Arial";
linkTextFormat.size = 12;
//linkTextFormat.bold = true;
linkTextFormat.color = 0x171717;
}
//加粗
private function _TextFormat_bold():void {
my_TextFormat.bold=! my_TextFormat.bold;
}
//倾斜
private function _TextFormat_italic():void {
my_TextFormat.italic = !my_TextFormat.italic;
}
//居左
private function _TextFormat_auto_left():void {
my_TextFormat.align = "left";
}
//居中
private function _TextFormat_auto_middle():void {
my_TextFormat.align="center";
}
//居右
private function _TextFormat_auto_right():void {
my_TextFormat.align="right";
}
//下划线
private function _TextFormat_xiahuaxian():void {
my_TextFormat.underline = !my_TextFormat.underline;
}
//超链接
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);
}
//取消超链接
private function _TextFormat_Clearurl(e:MouseEvent):void {
my_Sprite.removeChildAt(11);
my_btn_url_shuru.url_txt.text = "";
}
//插入图片
private function _TextFormat_pic(e:MouseEvent):void {
my_text.htmlText+="<img src='/UploadTeach/200812/20081205174844162.jpg'><br>"
//my_TextFormat.url = my_btn_url_shuru.url_txt.text;
//trace("请插入图片")
my_Sprite.removeChildAt(12);
}
//取消插入图片对话框
private function _TextFormat_Clearpic(e:MouseEvent):void {
my_Sprite.removeChildAt(12);
my_btn_pic_shuru.url_txt.text = "";
}
//设置拖曳
private function stopDrags(e:MouseEvent):void {
e.currentTarget.stopDrag();
}
private function startDrags(e:MouseEvent):void {
e.currentTarget.startDrag();
}
//显示加粗按钮
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);
}
//显示字号按钮
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, 36,40,48, 60,64,68,74,80,84,96, 120];
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);
}
//显示倾斜按钮
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);
}
//显示颜色按钮
private function _showBtn_Col():void {
my_Col.x = 197;
my_Col.y = 22;
my_Col.addEventListener(Event.CLOSE,_setTextFormatNext);
}
//显示字体下拉框
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);
}
//显示居左按钮
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);
}
//显示居中按钮
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);
}
//显示居右按钮
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);
}
//显示下划线按钮
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);
}
//显示超链接按钮
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);
}
//显示插入图片按钮
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);
}
//设置样式(A)
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);
}
//设置样式(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);
}
//加粗按钮跟倾斜按钮的元件,有一个鼠标滑过效果
private function changeCurrent(e:MouseEvent):void {
MovieClip(e.currentTarget).gotoAndStop(1);
}
private function changeNext(e:MouseEvent):void {
MovieClip(e.currentTarget).gotoAndStop(2);
}
//显示输入文本框
private function _showTextField():void {
my_text.x=35;
my_text.y=50;
my_text.width=470;
my_text.height=330;
//输入文本类型
my_text.type=TextFieldType.INPUT;
my_text.text="欢迎光临淘沙网 http://www.taoshaw.com ";
my_text.border=true;
//自动换行
my_text.wordWrap=true;
//多行文本
my_text.multiline=true;
my_text.borderColor = 0xcccccc;
my_text.addEventListener(MouseEvent.CLICK,_getjiaodian);
}
//获取选择文本
private function _getjiaodian(e:MouseEvent):void {
my_Beginfocus=my_text.selectionBeginIndex;
my_Endfocus=my_text.selectionEndIndex;
}
}
}
AS3 FLASH文本编辑器
时间: 2024-12-30 18:17:21
AS3 FLASH文本编辑器的相关文章
[AS3]Flash与后台数据交换四种方法整理【转】
随着Flash Player 9的普及,AS3编程也越来越多了,所以这次重新整理AS3下几种与后台数据交换方法. 1.URLLoader(URLStream) 2.FlashRemoting 3.XMLSocket(Socket) 4.FMS/FCS 一.URLLoader(URLStream)篇 URLStream和URLLoader中URLLoaderDataFormat.BINARY类似,它提供对下载 URL 的低级访问方式,我在此不再重复了,有兴趣的,可以看Flash帮助中URLStr
CKEditor v3.5.3发布 开源的HTML文本编辑器
这个开源的HTML文本编辑器可以让Web程序拥有如MS Word这样强大的编辑功能.FCKeditor支持当前流行的浏览器如IE,Firefox,Netscape,Opera等.在线网页编辑插件(用浏览器编辑后所见即所得),支持多种平台下的脚本(asp aspx php cfm Dhtml htc),还集成了上传图片组件,含简.繁中文. CKEditor 3.5.3更新日志如下: New features: #4890 : Added the possibility to edit the re
ASP.NET配置KindEditor文本编辑器图文教程_实用技巧
1.什么是KindEditor KindEditor 是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用 KindEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本输入框. KindEditor 使用 JavaScript 编写,可以无缝地与 Java..NET.PHP.ASP 等程序集成,比较适合在 CMS.商城.论坛.博客.Wiki.电子邮件等互联网应用上使用. 2.前期准备 到官网下载最新版的KindEditor 4.11
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
将Ueditor集成到YII框架中后,参照editor_config.js中的toolbars中的内容,更改options中标签可以给编辑器添加想要的功能: 因此要想添加文件和图片上传功能,应该加入以下两个标签: 文本编辑器中便出现了对应的两个选项: 但是点击上传图片按钮后发现,无法正常进行图片上传,文件上传也是失败的,问题都是Flash Player需要升级, 因此在火狐浏览器中安装对应的flash player组件,选择其中一个工作: 此时,文件上传和图片上传功能就能正常使用了: 上传路径的
简单文本编辑器
v一.前言 聚天地之灵气,集日月之精华!一个简单的java文本编辑器由此而生.毕设所需,很是无奈! v二.界面预览 v三.实现思路 v 1.字体选择器的实现 (1).字体类 class MyFont{ private Font font; private Color color; public Font getFont() { return font; } public void setFont(Font font) { this.font = font; } public Color
为网页设计师而生的14个文本编辑器
可视化的工具的易用性通常非常优异,因为它更符合人们交互和操作的自然逻辑.不过,要精准控制网页和程序,你总需要一款称心如意的文本编辑器来帮你搞定代码,哪怕是视觉至上的Adobe都会在Master套装里面保留Dreamweaver. 的确,从某种程度上来说,文本编辑器看起来没有可视化程序那么高大上,但是多年以来网页开发的方式和基本流程都没有本质上的改变,因此网页开发也无法和文本编辑器割裂开来.热爱文本编辑器的开发者和设计师都很清楚,一个得心应手的文本编辑器不仅高效而且具备良好的可控性,助力设计,
用CSS格式化Flash文本
css flashMX2004一个新的功能就是能加载外部的CSS文件并使之应用到flash文本, 现在有一个新的类(类?因为新的ActionScript2是基于类的脚本语言):TextField.StyleSheet class,就是这个类的几个方法使我们能象给HTML定义CSS一样来格式化flash文本,比如字体大小,颜色,位置等等.以后我们要改变flash文本的样式就只要修改外部的CSS文件而不必再到FLA文件中修改了.在开始之前需要确定你安装了flashMX2004并懂点HTML的
如何用C#编写文本编辑器
如何用C#编写文本编辑器[2005-8-24版] 南京千里独行2005版权所有,不限转载,请保留版权声明 摘要 本文探讨了使用C#从底层开发一个带格式的文本编辑器的任务,深入探讨了其中的文档对象模型的设计,图形化用户界面的处理和用户操作的响应,说明了其中的某些技术问题和解决之道. 前言 小弟从大学里开始接触编程也有6年了,工作4年也是干编程的活,见过不少程序,自己也编过不少,在学校编程自己觉得是搞艺术品,其实玩一些游戏,比如文明法老王星际等从某些角度看也是搞艺术品
Qt的文本编辑器(下)
紧接着我们的上一篇博文Qt之文本编辑器(上)我们继续我哦们的文本编辑器之旅. void MainWindow::createMenus() { fileMenu = menuBar()->addMenu(tr("&File")); fileMenu->addAction(newAct); fileMenu->addAction(openAct); fileMenu->addAction(saveAct); fileMenu->addAction(s