GDI (Graphic Device Interface) มาสร้างงานกราฟฟิกใน Visual Basic กัน !!!
ก่อนอื่นต้องพูดให้ฟังก่อนว่าไอ่เจ้า GDI มันคืออะไร ? ตอบแบบสั้นๆ ง่ายๆ มันก็คือ วิธีการวาดรูปทรง, รูปภาพ, ตัวอักษร หรืออื่นใดที่เป็นงานเกี่ยวกับ Graphic ใน VB.net นี้ละ (สั้นดีไหม 😀)
ขอย้อนอดีตของเจ้า GDI นี้หน่อยละกันนะ เรื่องราวมักก็มีอยู่ว่า ในทุกๆ Application ที่สร้างมาและรันบนระบบปฏิบัติการเนี๊ยะ มันไม่สามารถที่จะวาดหรือเขียนข้อความโดยตรงกับ ฮาร์ดแวร์ได้นะ (แม้แต่เจ้าตัว Windows เองนี้ละ) ดังนั้นมันก็ต้องมีการใช้ตัวกลางที่เรียกว่า DC หรือ Device Context นั่นเอง มาทำหน้าที่ในการวาดแทนไงละ แล้วมันก็เลยถูกนำมาใช้งานอย่างมากมายใน Windows ซึ่งก็คือ Graphic Device Interface หรือ GDI นี้ละนะ
เอาละมาเข้าเรื่องราวของเรากัน นั่นก็คือ เราจะสร้าง Object เป็นแบบกราฟฟิกโปร่งใส ไว้ใช้งานกัน (เอาวงกลมละกันเนาะ)
มาเริ่มกันเลย Let Go!!
เดี๋ยวเราจะสร้างให้ออกมาแบบนี้ละนะ 😲😲😲😲
** แต่คงจะไม่อธิบายทั้งหมดนะ คิดว่าเห็นหน้าจอแบบนี้คงนึกออกว่าใช้ Controls อะไรบ้างละนะ (บอกให้หน่อยก็ได้ ก็จะมี Button, Panel, PropertyGrid) เพราะจะเน้นไปทางการสร้าง Object จาก Class และการนำมาใช้งานละกัน
1. สร้างคลาสสำหรับ Object Circle
- ต้องสามารถกำหนดได้ว่าจะมีพื้นหลังโปร่งแสงได้หรือไม่ (Transparent Background)
- กำหนดขนาดของ Width, Height, Line Color, Line Border, Font Size และ For color Text ได้
- ต้องสามารถเคลื่อนย้าย Object ได้อย่างอิสระโดยการลากเมาส์
Import namespace ที่ต้องใช้งานเข้ามาก่อนเลย จากนั้นก็ทำการสร้างตัวดำเนินการขึ้นมาสำหรับ กำหนดค่าของส่วน Transparent background
ส่วนนี้ก็เป็นการสร้าง Properties ต่างๆนะ ต้องการเพิ่มอะไรก็กำหนดเอา
ก็ส่วนตรงนี้ละ ที่เจ้า GDI เข้ามาทำงาน ซึ่งหน้าที่ ของมันก็จะทำการวาด..วาด...วาด...โดยอ้างอิงตาม ตัวแปร properties ต่างๆ ที่เราทำการกำหนดนั่นแหละ
--- เอาละที่นี้เราก็จะได้ object ที่เป็นวงกลมละนะ โดยสามารถกำหนด properties ต่างได้ จากนี้ก็นำไปใช้ได้โลด
เอ๊ะ !!!! ลืมไปเหลืออีกอย่างนี้หว่าต้องทำให้มันเคลื่อนย้ายได้ เอา..มาต่อกันอีกหน่อย....😩😩😩
สร้างตัวแปรเก็บค่าขึ้นมาก่อนเลย เก็บทั้งสี่ทิศเลย
จากนั้นก็ลง Code เกี่ยวกับการเคลื่อนย้ายละนะ
เอาละเสร็จสิ้นสักทีสำหรับ Class นี้ ต่อไปก็ถึงขั้นตอนการนำไปใช้ และการสร้างหน้าจอกำหนด properties ของ Object ละนะ (Control PropertyGrid)
** ไอ่เจ้า Component PropertyGrig หากไม่มีใน Toolbox ก็ให้ทำการเพิ่มเข้ามาใหม่จากตรงนี้นะ
แล้วไงต่อ !! ---- ใจเย็นๆ 😜😜
ก่อนอื่นเลยก็ Import Class ที่เราสร้างมาเข้ามาก่อนนะ
Imports ชื่อโปรเจคเราอ่ะ.Class_Circle
Imports System.ComponentModel // อย่าลืม Namespace ตัวนี้ละ
พอเราจะใช้งานก็...
เรียบร้อยจบบทความ ที่เหลือก็นำไปประยุตย์ใช้งานกันเอานะครับ สำหรับรอบนี้ใจดีแจก Class สำหรับ object ต่างๆ ดังนี้ 😎😎😎
เอาไปใช้เขียนแบบไหนครับ
ตอบลบ