:33: ช่วงนี้เงียบเหงาจังนะคะ
ความเดิมจากตอนที่แล้ว
อ้างคำพูดจาก: sarina เมื่อ 11 ก.ค. 2008, 12:26 น.
ที่ต้องการทำตอนนี้ ทำได้แล้วค่ะ คือข้างล่างนี่
http://img2.f0nt.com/flash/a091bf2645c497432f7bbc5609919636.swf
คือจากเดิมที่ดึงฟ้อนจากเครื่องเรา ให้เป็นดึงจากไลบารี่แทนน่ะค่ะ
import mx.controls.ComboBox;
var myCombo_cb:ComboBox;
function init ()
{
myCombo_cb.rowCount = 3;
var myDP:Array = new Array();
myCombo_cb.dataProvider = myDP;
var myFontLabel = ["Times", "Tahoma", "Arial", "Curlz MT", "Edwardian Script ITC"];
var listContent = ["myFont1", "myFont2", "myFont3", "myFont4", "myFont5"];
for (var i = 0;i <= 4;i++)
{
myDP.addItem(myFontLabel[i], listContent[i], listContent[i]);
}
myCombo_cb.addEventListener ("change", function ()
{
myCombo_cb.textField.setStyle ("fontFamily", myCombo_cb.value);
var myTxtFormat:TextFormat = new TextFormat();
myTxtFormat.font = String(myCombo_cb.value);
txt.setTextFormat(myTxtFormat);
});
myCombo_cb.addEventListener ("load", setCBListFonts);
myCombo_cb.addEventListener ("scroll", setCBListFonts);
}
function setCBListFonts ()
{
for (var i in myCombo_cb.dropdown.listContent)
{
var _tf:TextFormat = myCombo_cb.dropdown.listContent[i].cell.getTextFormat ();
_tf.font = myCombo_cb.dropdown.listContent[i].cell.text;
myCombo_cb.dropdown.listContent[i].cell.setTextFormat (_tf);
}
}
init();
**ความปวดหัวครั้งใหม่ (ตอนต่อมา)
:02:ถ้าต้องการให้ Combobox โชว์ Font เหมือนรูปข้างล่าง โดยเมื่อเอาเม้าไปชี้ที่ Font ตัวใดตัวหนึ่ง
ก็จะมีกล่องข้อความแสดงรูปแบบของฟ้อนตัวนั้น (Font ดึงมาจากไลบารี่) น่ะค่ะ
(http://img2.f0nt.com/22/e99ca3004519d053a9fdafaf2e8323d2.jpg)
หรือตามลิงค์ข้างล่างนี้อ่ะค่ะ
http://www.printenator.com/index.php?page=shop.product_details&flypage=flypage-ask.tpl&product_id=30&category_id=13&option=com_virtuemart&Itemid=66
ต้องทำแบบไหน หรือเขียนสคริปยังจึงจะได้แบบนี้คะ
:05: ช่วงนี้เงียบเหงามาก ผู้คนหายหมดเลย
ตอนนี้ได้แบบนี้แล้วค่ะ :33:
http://img2.f0nt.com/flash/cc8b80763dec06a92aecb8db32db232d.swf
โอ้ว ยิ่งใหญ่มาก :45:
เคยเห็นที่เขาดึงฟอนต์มาจากในเครื่องมาแสดงในลิสต์เลยนะครับ
แต่ไม่รู้จริงๆ ว่าทำได้ยังไง แต่เท่าที่เห็นของ sarina นี่ก็ยิ่งใหญ่มากๆ แล้ว :12:
ยินดีด้วยครับ
ว่าแต่การเปลี่ยนรูปแบบ font มันก็เหมือนกันไม่ใช่เหรอครับ
(หมายถึงที่แสดงในตัวที่เราเลื่อนๆได้ กับตัวอย่างเมื่อเอาเมาท์ไปวางข้างบนน่ะครับ)
ส่วน [object object] นี่พิมพ์เองหรือเปล่าครับ หรือต้องการเอาค่าของ font มาแสดงครับ
ถ้าเอาค่า font มาแสดง น่าจะเป็นปัญหาของการอ้าง property ผิดตัวครับ ยังไงก็ลองแก้ดูละกันน่อ
หรือถ้าผมมั่วไป ก็ขออภัยมา ณ ที่นี้ด้วยครับ
แต่การเปลี่ยน font มันน่าจะเหมือนกันจริงๆนะ
ยังไงก็ลองตรวจสอบ path หรือตัวแปร ดูละกันครับ ว่าอ้างอิงถูกตัว ถูกค่าหรือเปล่า
** ที่ไม่ได้เข้ามาตอบ เพราะงานเยอะจริงๆน่อ ปั่นไม่ค่อยทันเท่าไร
เดือนหน้าก็จะลาออกแล้วต้องรีบเคลียงานในบริษัทสักหน่อย
แต่ใน thaiflashdev ก็ยังมีคนตอบมาอยู่บ้างนิครับ ยังไงก็พยายามต่อไปน่อ
ขอบคุณมากค่ะ แต่มันมีปัญหาอยู่ที่บรรทัดที่ 124 นะค่ะ
for (var i = 0;i <= 8;i++)
{
[color=red] myDP.addItem(myFontLabel[i], listContent[i], listContent[i]);[/color]
}
ตรง myDP.addItem น่ะค่ะ ถ้าเป็นอย่างนี้มันจะโชว์รูปแบบฟ้อนและไม่ขึ้น [object object](แต่พอคลิ๊กเปลี่ยนฟ้อนมันเลี่ยนไม่ได้ค่ะ)
และถ้าเปลี่ยนเป็น myCombo_cb.addItem ฟ้อนมันจะเปลี่ยนได้ค่ะ แต่รูปแบบฟ้อนมันจะไม่ขึ้น
และจะแสดง [object object] ดังที่ได้อัพเอาไว้
ช่วยหน่อยนะค่ะ
ตัวไหนคือ myCombo_cb ตัวไหนคือ myDp ครับ ?
ทำไมถึงมี 2 ตัว ??
ลองแก้ที่ event rollover หรืออะไรสักอย่าง ของเวลาเอาเมาท์ไปวางเหนือตัวเลือกนั้นดูละกันครับ
ผมไม่ได้ดูโค้ดนะครับ เดาล้วนๆ :47:
var myDP = new Array();
myCombo_cb.dataProvider = myDP;
ที่จิงถ้าจะเปลี่ยนฟ้อนเฉยๆใช้ myCombo_cb คือชื่อ instance ของ List
แต่เมื่อยากให้โชว์ฟ้อนเมื่อโอเวอร์ มันต้องใช้ dataProvider เหมือรกับที่ดึงฟ้อนจากเครื่องมาโชว์
เช่น myCB.dataProvider = TextField.getFontList (); ประมาณนี้อ่ะค่ะ+เดาเอาเองนิดหน่อยถึงมาก :02:
แล้วก็ตามที่บอกอ่ะค่ะในบรรทัดที่ 124 ในไฟล์
แต่ไม่รู้มันต้องเพิ่มตรงไหนอีกอ่ะค่ะ.. :05:
อ้างคำพูดจาก: sarina เมื่อ 23 ก.ค. 2008, 16:37 น.
ขอบคุณมากค่ะ แต่มันมีปัญหาอยู่ที่บรรทัดที่ 124 นะค่ะ
for (var i = 0;i <= 8;i++)
{
myDP.addItem(myFontLabel[i], listContent[i], listContent[i]);
}
ตรง myDP.addItem น่ะค่ะ ถ้าเป็นอย่างนี้มันจะโชว์รูปแบบฟ้อนและไม่ขึ้น [object object](แต่พอคลิ๊กเปลี่ยนฟ้อนมันเลี่ยนไม่ได้ค่ะ)
และถ้าเปลี่ยนเป็น myCombo_cb.addItem ฟ้อนมันจะเปลี่ยนได้ค่ะ แต่รูปแบบฟ้อนมันจะไม่ขึ้น
และจะแสดง [object object] ดังที่ได้อัพเอาไว้
ช่วยหน่อยนะค่ะ
:05: