LevelUp! Studio » context menu 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 วิธีการเพิ่มหรือลดคำสั่งเมื่อกดคลิ้กขวาในแอปพลิเคชั่น Flex https://blog.levelup.in.th/2013/09/30/how-to-addremove-right-click-context-menu-in-flex-application/ https://blog.levelup.in.th/2013/09/30/how-to-addremove-right-click-context-menu-in-flex-application/#comments Mon, 30 Sep 2013 16:43:52 +0000 http://blog.levelup.in.th/?p=2979 เนื่องด้วยความซนของผู้เล่นทำให้เราต้องค้นหาวิธีการเพิ่มลดคำสั่งเมื่อกดคลิ้กขวาใน Flex app ของเรา เพราะโดนปกติแล้วคลิ้กขวาจะมีคำสั่ง Print ซึ่งเมื่อ Print แล้วพวก effect ต่างๆใน Flex app ของเราจะผิดเพี้ยนไป ทำให้ผู้เล่นอาจจะเจออะไรบางอย่างที่เราไม่ต้องการแสดงก็เป็นได้

คำสั่งเมื่อคลิ้กขวาใน Flex Application ของเรา ส่วนที่บอกไว้ก่อนหน้าคือมีคำสั่ง Print ด้วย

คำสั่งเมื่อคลิ้กขวาใน Flex Application ของเรา ส่วนที่บอกไว้ก่อนหน้าคือมีคำสั่ง Print ด้วย

Print เสร็จก็จะเห็นหมดเลย (เนื่องจากเวลาพิมพ์น่าจะลบ Effect ต่างๆของ Flash ออกให้)

Print เสร็จก็จะเห็นหมดเลย (เนื่องจากเวลาพิมพ์น่าจะลบ Effect ต่างๆของ Flash ออกให้)

เลยได้วิธีตั้งค่าคลิ้กขวาดังนี้

ในไฟล์ Application ของเรา เพิ่มฟังก์ชั่นด้านล่าง และเรียกใช้เมื่อ applicationComplete ครับ

private function setContextMenu():void{

var customContextMenu:ContextMenu = new ContextMenu(); //สร้าง contextMenu ขึ้นมาใหม่

customContextMenu.hideBuiltInItems(); //ลบ contextMenu ที่มีมาให้ออกให้หมด

this.contextMenu = customContextMenu; //ตั้งค่าเป็นตัวใหม่

}

เท่านี้เมนูที่มีมาให้ก็จะหายไปแล้วครับ

เหลือแต่คำสั่งพื้นฐานของ Flash

เหลือแต่คำสั่งพื้นฐานของ Flash

แถมให้ ถ้าเราอยากเพิ่มตัวเลือกใหม่ๆก็ทำได้ดังนี้ครับ

private function setContextMenu():void{

var customContextMenu:ContextMenu = new ContextMenu();

customContextMenu.hideBuiltInItems();

var testOption:ContextMenuItem = new ContextMenuItem(“Test Me!”); //สร้างตัวเลือกใหม่ขึ้นมาชื่อว่า Test Me!

testOption.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,contextEvent); //ใส่ Event ให้ตัวเลือกใหม่

customContextMenu.customItems.push(testOption); //เพิ่มเข้าไป

this.contextMenu = customContextMenu;

}

private function contextEvent(event:ContextMenuEvent):void{ //ฟังก์ชั่นที่ถูกเรียกใช้เมื่อเลือกตัวเลือกที่สร้างมา

Alert.show(“PENTAKILL”);

}

ตัวเลือกคลิ้กขวาที่มีเพิ่มขึ้นมา ก่อนและหลังคลิ้ก

ตัวเลือกคลิ้กขวาที่มีเพิ่มขึ้นมา ก่อนและหลังคลิ้ก

ง่ายๆแค่นี้เองครับ ลองเอาไปประยุกต์ใช้กันดูได้นะครับ

]]>
https://blog.levelup.in.th/2013/09/30/how-to-addremove-right-click-context-menu-in-flex-application/feed/ 0