教你如何創建自己的文字編輯器
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-10
因為之前看到要尋找MX 2004文字編輯器的組件, 但我在想MX和2004的編輯器在功用上有什麼不同呢?? 既然要等待到不如一起來動手做吧, 在這裡我會教大家製做出粗體, 斜體, 底線等最基本的寫法, 學好之後可以修改得更好更穩定:) 不管怎樣, 首先是新手的話還是要開始教你們在當中會使用到的一些指令 指令 1: Selection.getBeginIndex();會回傳當前所選取文字的開始位置, 就是你們動態文本中選取部份文字的時候, 鼠標開始的位置, 如果沒有選取的回傳值是 -1 指令 2 : Selection.getEndIndex();會回傳當前所選取文字的結束位置, 就是你們動態文本中選取部份文字的時候, 鼠標結束的位置, 如果沒有選取的回傳值是 -1 指令 3 : my_text.getTextFormat(index); my_text.getTextFormat(beginIndex, endIndex); 返回object值, 通常使用的是這兩種方法, 第一種是指定index(數目)的位置, 那麼就會返回得到該位置的char, 第二種是定義位置而取得位置當中的文字, 如: my_text.getTextFormat(3,5); 那麼就會得到my_text當中3到5的文字 指令 4 : my_text.setTextFormat(textformat); my_text.setTextFormat(index, textformat); my_text.setTextFormat(beginIndex, endIndex, textformat); setTextFormat就是設定文字格式, 第一種只要有使用過AS創建動態文本的人都會使用到, 第二種和第三種同getTextFormat一樣, 是針對某文字設定格式 那麼開始吧, 首先打開Flash, 在當中建立一個輸入文本實體名叫 my_text, 分別建立粗體(bold),斜體(italic),底線(underline), 左對齊(leftAlign)....等的按鈕, 如圖 :然後到第一幀輸入 : onEnterFrame = function() { if(Selection.getFocus() == "_level0.my_text") { //循環偵測目前鼠標是否是在輸入欄位當中 ss = Selection.getBeginIndex(); //取得選取的開始位置 se = Selection.getEndIndex(); //取得選取結束的位置 } } //監聽文字大小ComboBox更換事件 sizeChange = new Object(); sizeChange.change = function (eventObj) { if (ss != se) { //如果有選取範圍的話 current = my_text.getTextFormat(ss, se); //取得輸入欄位範圍內的文字 current.size = eventObj.target.value; //取得ComboBox當中的值, 然後設定範圍內的格式 my_text.setTextFormat(ss, se, current); //設定格式 } else { //當沒有選取範圍的時候 current = my_text.getTextFormat(); current.size = eventObj.target.value; my_text.setNewTextFormat(current); } } txtSize.addEventListener("change", sizeChange); //監聽字型ComboBox更換事件, 指令解釋同上 fontChange = new Object(); fontChange.change = function (eventObj) { if (ss != se) { current = my_text.getTextFormat(ss, se); current.font = eventObj.target.value; my_text.setTextFormat(ss, se, current); } else { current = my_text.getTextFormat(); current.font = eventObj.target.value; my_text.setNewTextFormat(current); } } txtFont.addEventListener("change", fontChange); //監聽顏色ComboBox更換事件, 指令解釋同上 colorChange = new Object(); colorChange.change = function (eventObj) { if (ss != se) |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: MovieClipLoader 类下一篇: 遮罩效果的详解
关于教你如何創建自己的文字編輯器的所有评论