Luar's Flash Playground:修改Tree組件支持中文
修改Tree組件支持中文 (29-05-2003)

Macromedia的組件一向在支持中文方面都相當理想,可惜在Flash UI Components Set 2中的Tree組件,卻不能支持中文,因為它Embed了英文字體Arial。

一般情況下,Macromedia的組件都可以用以下ActionScript,控制組件是否Embed Font:

myStyleFormat = new FStyleFormat();
myStyleFormat.embedFonts = false;
myStyleFormat.addListener(ComponentInstanceName);

可惜這對Tree組件無效,解決方法,只好直接修改組件裡ActionScript,打開Library,修改Flash UI Components>Core Assets - Developer Only>FUIComponent Class Tree>FUIComponent SubClasses>FSelectableItem SubClasses>FTreeSelectableItem。

ftree03.gif

Layer "Actions : Class",第21行,將:
this.fLabel_mc.labelField.embedFonts = true;

刪除,或者轉為註釋:
//this.fLabel_mc.labelField.embedFonts = true;

ftree01.gif

另外,可以對Tree組件進行額外改造,就是刪除水平Scroll Bar。
24-7-2003 追加 :最近發現以下修改,在Tree Component有大量Nodes時會引致"256 levels of recursion"錯誤,拖垮Flash Player,請不要進行以下修改!正確方法請參考《修改Tree組件勘誤 》一文。

ftree04.gif

打開Library,修改Flash UI Components>Tree

ftree05.gif

Layer "Actions : Class",第630行,將:
this.sbc_mc.attachMovie("FScrollBarSymbol","hsb_mc", 2, {hostStyle:this.styleTable});

刪除,或者轉為註釋:
//this.sbc_mc.attachMovie("FScrollBarSymbol","hsb_mc", 2, {hostStyle:this.styleTable});

ftree02.gif

結果就如這樣:

mp3.jpg
本文章由發表。
意見
"; print "沒有意見。
 "; } ?>
  • i think u a ccccccrazy...

    由pong於29-05-2003發表

  • //www.luar.com.hk/rssviewer/這個地方,出現中文的時候,字體小,看不清,不知道是為什麼,我自己做修改的時候就出現了這個情況...2,請教一個問題,我用的是apache的服務器,當使用http://flash.com.cn/的時候訪問的是目錄,只有使用http://flash.com/index.php才能顯示出主頁,我該在哪兒設置一下,謝謝

    自由征服於30-05-2003發表

  • rssviewer Layer action第286行開始就是設定字體和大小地方,你是否由那裡著手?至於Apache問題,我沒有使用,不熟悉,幫不到你。

    luar於30-05-2003發表

  • 为什么是乱码?
    我想请问用tree组件生成动态目录树的具体过程。

    由magicwind於30-05-2003發表

  • http://www.macromedia.com/devnet/mx/trio/articles/ tree_control.html

    luar於30-05-2003發表

  • 因為本站以繁體中文為主,簡體中文版是PHP轉換出來,所以所有簡體中文意見,在簡體中文版看時,經過了PHP轉換,所有編碼已經弄亂了。放心,我可以看到你的意見,請放心發表。暫時我會人手將簡體中文意見轉為繁體中文再重新發表。

    luar於30-05-2003發表

  • 删除,或者转为注释∶
    //this.fLabel_mc.labelField.embedFonts = true;

    我这样做了,可以看见中文,但前面的目录夹图标不见了,而且不能双击打开。是不是还要修改其它的。
    你能给个例子吗?

    由kevin於02-06-2003發表

  • 你的Flash Player要6.0r79才可以看到目錄夾圖標。另外,Tree組件可以雙擊打開?

    luar於02-06-2003發表

  • 看看我自做的基于xml的treeview
    http://www.freewebs.com/windyfancy/index.htm
    播放器版本要高于6.0r40

    由windyfancy於10-06-2003發表

  • 我也是看不到目錄夾圖示, 我的版本確定是6.0r79, 到底怎麼回事呢?

    由sky於29-07-2003發表

  • 我也遇到相同的問,要顯示簡體中文就沒辦法顯示圖標,反之亦然,到底有沒有辦法解決這個問題。

    Ray於03-08-2003發表

  • 我也遇到這個問題,是不是這個問題就沒有辦法解決?

    由Miller於27-11-2003發表

  • Flash Player是有幾個類別的(以Window為例):

    (1) Windows Netscape Plugin Installer Install Flash Player

    (2) Windows ActiveX Player Installer Install Flash Player

    (3)Windows Standalone Player

    (4)Windows Test Movie Player

    你們可能只是update了(1)及(2), 所以Test Movie(使用了(4))時看不到目錄夾圖,但是可用IE及Netscape來測試是可以看到目錄夾圖.

    如果要在Flash MX Authoring時(Test Movie)解決這問題, 可到Macromedia網站下載"Flash Player 6 Update installer".

    如果安裝了 Flash MX 2004, 便不用理會這文章.

    由Ying於09-01-2004發表

同組文章