LevelUp! Studio » flash cs5 https://blog.levelup.in.th Experience the new world. Fri, 26 May 2017 10:06:07 +0000 th hourly 1 http://wordpress.org/?v=3.8.1 วิธีทำให้ TextField ใน Flash CS5 มี Font ตัวหนา เมื่อถูกแก้ไขโดย Flex https://blog.levelup.in.th/2013/09/30/how-to-make-a-flash-textfield-have-bold-fonts-when-editing-in-flex/ https://blog.levelup.in.th/2013/09/30/how-to-make-a-flash-textfield-have-bold-fonts-when-editing-in-flex/#comments Mon, 30 Sep 2013 16:08:58 +0000 http://blog.levelup.in.th/?p=2971 โดยปกติแล้วถ้าเราตั้ง TextField ใน Flash ให้มีตัวหนาแล้ว มันก็จะคงฟอนท์ตัวหนาไว้ตลอด แต่เมื่อเรามาแก้ไขตัวหนังสือของมันด้วย Flex แล้วมันจะทำให้ฟอนท์ของ TextField ดังกล่าวกลายเป็นตัวธรรมดาไปเฉยๆ วันนี้มีวิธีแก้มาฝากกันครับ

TextField สองอันตัวอย่างที่ทำมาจาก Flash เซ็ทไว้ให้เป็นตัวหนา

TextField สองอันตัวอย่างที่ทำมาจาก Flash เซ็ทไว้ให้เป็นตัวหนา

เมื่อเรานำ Flash ด้านบนเข้าไปใช้ใน Flex แล้วสั่งให้มีการแก้ไขข้อความใน TextField

ผลลัพธ์คือตัวอักษรจะไม่ติดตัวหนาแล้ว

txt_name.text = “Cybermon”;

txt_skill.text = “Destroy itself after attack”;

แก้ไขค่าในสอง TextField ทำให้ตัวอักษรไม่ Bold

แก้ไขค่าในสอง TextField ทำให้ตัวอักษรไม่ Bold

วิธีแก้ไขก็ไม่ยากเลยครับ หลังจากที่เราใส่ค่าใหม่แล้ว เราต้องทำการเรียก setTextFormat เพื่อตั้งค่าให้เป็นตัวหนาอีกรอบครับ

ตัวอย่าง

var myTextFormat:TextFormat = new TextFormat();

myTextFormat.bold = true;

myTextField.setTextFormat(myTextFormat);

หรือเราจะเขียนย่อๆแบบนี้ก็ได้ครับถ้าเรารู้ว่ามันรับ Parameter ยังไงบ้างแล้ว (เพิ่มเติม) ซึ่งจะทำให้ได้โค้ดดังนี้

txt_name.text = “Cybermon”;

txt_skill.text = “Destroy itself after attack”;

txt_name.setTextFormat(new TextFormat(null,null,null,true));

txt_skill.setTextFormat(new TextFormat(null,null,null,true));

เท่านี้เราก็จะได้ผลลัพธ์เป็นตัวหนาตามปกติแล้วล่ะครับ

TextField ที่ผ่านฟังก์ชั่น setTextFormat แล้วก็จะตัวหนาตามเดิม

TextField ที่ผ่านฟังก์ชั่น setTextFormat แล้วก็จะตัวหนาตามเดิม

]]>
https://blog.levelup.in.th/2013/09/30/how-to-make-a-flash-textfield-have-bold-fonts-when-editing-in-flex/feed/ 0