[flash]TextField.textWidth 應用

Flash MX 之後支援 TextField (文字框)的屬性變多了,如過想要讓動態帶入的文字依照字串多寡決定寬度可以用 TextField.textWidth 計算帶入字串的寬度(中英文均可以計算,實際測試與player顯示出來差 4 pixel),這次有個專案導覽選單剛好用到,所以分享一下心得!


簡單範例:

程式碼:

send_btn.onRelease = function() {
//把 multiline、wordWrap 屬性回復成 false 文字框寬度才會重新計算
receive_txt.multiline = receive_txt.wordWrap=false;
receive_txt.text = provide_txt.text;
if (provide_txt.text == null) {
receive_txt._width = receive_txt._height = 0;
} else {
if (receive_txt.textWidth+4>260) {
receive_txt._width = 260;
//把 multiline、wordWrap 屬性變成 true 文字才能正確計算高度
receive_txt.wordWrap = receive_txt.multiline=true;
receive_txt._height = receive_txt.textHeight+2;//高度需加 2 pilex 多行時顯示時才不會有問題(太小)
} else {
receive_txt._width = receive_txt.textWidth+4;//寬度需加 4 pilex 顯示時字才不會被遮到
receive_txt._height = receive_txt.textHeight;
}
}
provide_txt.text = "";
};

1 comment for “[flash]TextField.textWidth 應用

  1. 2010 1 月 18 日 at 下午 1:12

    很實用的資訊,謝謝版主^~^

發表迴響