กระทู้เก่าบอร์ด อ.Yeadram
1,583 3
URL.หัวข้อ /
URL
อยากทำแป้นหมุนเหมือน ipod
พอดีกำลังอยากทำ user interface แบบแป้นหมุนของ ipod
ใครมี idea หรือ ตัวอย่างพอแนะนำได้ไหมครับ
ตัวอย่างเช่น
-ใช้ mouse click ที่แป็นแล้วลากให้มันหมุน
-ใช้ ล้อ บน mouse ในการหมุนแป้น
-หรือใช้ลูกศรขึ้นลง หรือ ซ้ายขวาในการหมุนแป้น
...หรือใช้อะไร control ก็ได้เพื่อให้แป้นมันหมุนตาม
ใครมี idea หรือ ตัวอย่างพอแนะนำได้ไหมครับ
ตัวอย่างเช่น
-ใช้ mouse click ที่แป็นแล้วลากให้มันหมุน
-ใช้ ล้อ บน mouse ในการหมุนแป้น
-หรือใช้ลูกศรขึ้นลง หรือ ซ้ายขวาในการหมุนแป้น
...หรือใช้อะไร control ก็ได้เพื่อให้แป้นมันหมุนตาม
3 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R05439
ผมว่าไม่ยากนะ ก็ใช้ Image control 2 ตัว ตัวล่างทำเป็นรูปแป้นหมุน ตัวบนรูปเล็กๆทำเป็นรูปกลมๆเพื่อบอกว่ามันหมุนไปถึงไหนแล้ว แล้วก็ใช้ MouseMove event ของ Image control ตัวล่าง เป็นตัวทำงาน ซึ่งมันจะบอกค่า x, y และปุ่มกด(ถ้ามี) ก็ใช้ค่าเหล่านี้เป็นตัวคำนวนตำแหน่งที่ให้รูปบนเลื่อนไป โดยใช้ฟังก์ชั่น Sin( ) หรือ Cos( ) ช่วย
สิ่งที่อาจยุ่งยากหน่อยก็คือ coordinate x,y ของ Image control นั้นเริ่มจาก (0, 0) ที่ตำแหน่งบนซ้าย แล้วเพิ่มขึ้นเมื่อตำแหน่งเลื่อนไปทางล่างขวา แต่ในการทำเป็นแป้นหมุน เราต้องแบ่ง Image ออกเป็น 4 quadrant
- ใน quadrant บนซ้าย การเลื่อนเมาส์ไปทางตะวันออกเฉียงเหนือ จะทำให้ค่าของแป้นเพิ่มขึ้น
- ใน quadrant บนขวา การเลื่อนเมาส์ไปทางตะวันออกเฉียงใต้ จะทำให้ค่าของแป้นเพิ่มขึ้น
- ใน quadrant ล่างขวา การเลื่อนเมาส์ไปทางตะวันตกเฉียงใต้ จะทำให้ค่าของแป้นเพิ่มขึ้น
- ใน quadrant ล่างซ้าย การเลื่อนเมาส์ไปทางตะวันตกเฉียงเหนือ จะทำให้ค่าของแป้นเพิ่มขึ้น
นี่เป็นไอเดียของผม ลองดูแล้วกันว่าใช้ได้ไหม
สิ่งที่อาจยุ่งยากหน่อยก็คือ coordinate x,y ของ Image control นั้นเริ่มจาก (0, 0) ที่ตำแหน่งบนซ้าย แล้วเพิ่มขึ้นเมื่อตำแหน่งเลื่อนไปทางล่างขวา แต่ในการทำเป็นแป้นหมุน เราต้องแบ่ง Image ออกเป็น 4 quadrant
- ใน quadrant บนซ้าย การเลื่อนเมาส์ไปทางตะวันออกเฉียงเหนือ จะทำให้ค่าของแป้นเพิ่มขึ้น
- ใน quadrant บนขวา การเลื่อนเมาส์ไปทางตะวันออกเฉียงใต้ จะทำให้ค่าของแป้นเพิ่มขึ้น
- ใน quadrant ล่างขวา การเลื่อนเมาส์ไปทางตะวันตกเฉียงใต้ จะทำให้ค่าของแป้นเพิ่มขึ้น
- ใน quadrant ล่างซ้าย การเลื่อนเมาส์ไปทางตะวันตกเฉียงเหนือ จะทำให้ค่าของแป้นเพิ่มขึ้น
นี่เป็นไอเดียของผม ลองดูแล้วกันว่าใช้ได้ไหม
3 @R05441
คิดได้อีกอย่างคือ เปลี่ยนไปใช้ Command button ที่กำหนด Transparent property เป็น yes ส่วนรูปที่เป็นแป้นหมุน หรือรูปอะไรก็แล้วแต่ ให้อยู่ในเลเยอร์ที่อยู่ด้านหลังของ Command button นี้ และโค้ดก็เขียนใน MouseMove event ของ Command button ตัวนี้แทน วิธีนี้อาจทำให้การนำภาพมาแสดงยืดหยุ่นกว่าวิธีข้างบน
Time: 0.3397s
เพราะผมก็รออ่านจากผู้รู้ท่านอื่นๆ เช่นกันครับ