เหตุการณ์ในแอปพลิเคชันรูปภาพ
แอปพลิเคชัน Image ตอบสนองต่อเหตุการณ์ดังต่อไปนี้:
1. เหตุการณ์คลิกของตัวควบคุมรูปภาพแต่ละตัวทำให้คุณสมบัติด้านซ้ายของตัวควบคุมรูปร่างเหมือนกับคุณสมบัติด้านซ้ายของตัวเอง และย้ายกราฟิกไปที่ด้านบนของรูปภาพ
2. เรียกวิธี Cls ของ PictureBox เพื่อล้างชื่อปัจจุบันของ StatusBar
3. เรียกใช้วิธี PRint ของ PictureBox เพื่อพิมพ์ชื่อใหม่บน StatusBar
รหัสสำหรับเหตุการณ์การคลิกของตัวควบคุมรูปภาพจะเป็นดังนี้:
PrivateSubimgHeart_Click()
shpCard.Left=imgClub.LeftpicStatus.Cls
picStatus.PrintSelected:คลับ
shpCard.Visible=จริง
สิ้นสุดย่อย
โปรดทราบ ว่าบรรทัดแรกของโค้ดเหตุการณ์คลิกใช้ตัวดำเนินการ = เพื่อกำหนดค่าให้กับคุณสมบัติ Left ของตัวควบคุมรูปร่าง (ทำให้เท่ากับคุณสมบัติ Left ของตัวควบคุม Image) วิธีการโทรสองบรรทัดถัดมา จึงไม่จำเป็นต้องมีโอเปอเรเตอร์ ในบรรทัดที่สาม ค่า (Selected:Club) เป็นพารามิเตอร์ของวิธีการพิมพ์
มีโค้ดอีกหนึ่งบรรทัดในแอปพลิเคชันที่สำคัญ ซึ่งอยู่ในเหตุการณ์ FormLoad
shpCard.Visible=เท็จ
ตั้งค่าคุณสมบัติที่มองเห็นได้ของตัวควบคุมรูปร่างเป็นเท็จ และตัวควบคุมรูปร่างจะถูกซ่อนไว้จนกว่าจะคลิกรูปภาพแรก
ตั้งค่าคุณสมบัติ Visible เป็น True ในขั้นตอนสุดท้ายของเหตุการณ์คลิกของตัวควบคุมรูปภาพ
สำหรับ ข้อมูล เพิ่มเติมเกี่ยวกับคุณสมบัติ วิธีการ และเหตุการณ์ โปรดดูบทที่ 5 "พื้นฐานการเขียนโปรแกรม"
การควบคุมเพิ่มเติม
กล่องเครื่องมือ Visual Basic ยังมีตัวควบคุมมาตรฐานอื่นๆ อีกหลายรายการ มีการควบคุมที่สามารถใช้เพื่อประมวลผลข้อมูลจำนวนมากในฐานข้อมูลภายนอกได้ มีการควบคุมสำหรับการเข้าถึงระบบไฟล์ Windows มีการควบคุมอื่นๆ ที่จำแนกได้ยากแต่มีประโยชน์มาก
ตัวควบคุม ActiveX ซึ่งเดิมเรียกว่าตัวควบคุมแบบกำหนดเองหรือตัวควบคุม OLE ยังสามารถใช้ในแอปพลิเคชัน Visual Basic และสามารถใช้ได้ในลักษณะเดียวกับตัวควบคุมมาตรฐาน กิจกรรม ActiveX หลายอย่างใน Visual Basic รุ่น Professional และ Enterprise ยังมีความสามารถในการสร้างตัวควบคุมแบบกำหนดเองอีกด้วย อย่างที่คุณคงจินตนาการได้ ด้วยการเพิ่มตัวควบคุม ActiveX เพิ่มเติมจำนวนมากที่ผลิตโดยผู้ผลิต ทำให้เกือบทุกงานสามารถเสร็จสมบูรณ์ได้
ข้อมูลโดยละเอียด สำหรับข้อมูลโดยละเอียดเกี่ยวกับการใช้ตัวควบคุม ActiveX โปรดดูบทที่ 4 "การจัดการโครงการ"
การควบคุมการเข้าถึงข้อมูล
ในธุรกิจยุคใหม่ ข้อมูลส่วนใหญ่จะถูกจัดเก็บไว้ในฐานข้อมูลกลางตั้งแต่หนึ่งฐานข้อมูลขึ้นไป VisualBasic มีการควบคุมการเข้าถึงข้อมูลที่หลากหลายซึ่งสามารถเข้าถึงฐานข้อมูลยอดนิยมส่วนใหญ่ เช่น Microsoft Access และ SQL Server
1.การควบคุม ADOData ใช้ในการเชื่อมต่อกับฐานข้อมูล ให้คิดว่าเป็นไปป์ไลน์ระหว่างฐานข้อมูลและตัวควบคุมอื่นๆ ในแบบฟอร์ม คุณสมบัติ วิธีการ และเหตุการณ์ของตัวควบคุมข้อมูลช่วยให้สามารถระบุตำแหน่งและจัดการข้อมูลภายนอกจากภายในแอปพลิเคชันได้
2. ตัวควบคุม DataList จะคล้ายกับตัวควบคุมกล่องรายการ เมื่อใช้ตัวควบคุม DataList กับตัวควบคุม ADOData จะถูกเติมด้วยรายการข้อมูลจากเขตข้อมูลในฐานข้อมูลภายนอกโดยอัตโนมัติ
3. ตัวควบคุม DataCombo เหมือนกับการรวมกันของ DBList และ TextBox ข้อความที่เลือกภายในพื้นที่กล่องข้อความสามารถแก้ไขได้ และการเปลี่ยนแปลงจะปรากฏในฐานข้อมูลต้นแบบ
4.ตัวควบคุม DataGrid จะแสดงข้อมูลในตารางหรือตาราง เมื่อใช้กับตัวควบคุม ADOData จะแสดงข้อมูลที่สามารถแก้ไขได้อย่างสมบูรณ์จากหลายฟิลด์ในฐานข้อมูลภายนอก
5.ตัวควบคุม MicrosoftHierarchicalFlexGrid เป็นตัวควบคุมเดียวที่สามารถแสดงข้อมูลได้หลายมุมมอง ให้คิดว่าเป็นการผสมผสานระหว่างตารางและตัวควบคุมแผนภูมิหรือเค้าร่าง ณ รันไทม์ ผู้ใช้สามารถจัดเรียงแถวและคอลัมน์ใหม่เพื่อให้มีมุมมองข้อมูลที่แตกต่างกัน
สำหรับ ข้อมูลเพิ่มเติมเกี่ยวกับการควบคุมข้อมูล โปรดดูบทที่ 7 "การใช้การควบคุมมาตรฐานของ Visual Basic"
การควบคุมระบบไฟล์
Visual Basic มีการควบคุมสามแบบเพื่อเพิ่มความสามารถในการจัดการไฟล์ในแอปพลิเคชันของคุณ โดยทั่วไปแล้ว การควบคุมเหล่านี้จะถูกใช้ร่วมกันเพื่อดูไดรฟ์ ไดเร็กทอรี และไฟล์ มีคุณสมบัติพิเศษและกิจกรรมที่เชื่อมต่อถึงกัน
ตัวควบคุม DriveListBox ดูเหมือน ComboBox โดยแสดงรายการไดรฟ์แบบหล่นลงซึ่งผู้ใช้สามารถทำการเลือกได้
DirListBox คล้ายกับตัวควบคุมกล่องรายการ แต่มีความสามารถในตัวในการแสดงรายการของไดเรกทอรีบนไดรฟ์ที่เลือกในปัจจุบัน
ตัวควบคุม FileListBox ดูเหมือนกล่องรายการที่แสดงรายชื่อไฟล์สำหรับไดเร็กทอรีที่เลือก
โปรดทราบ ว่าการควบคุมเหล่านี้มีไว้เพื่อความเข้ากันได้แบบย้อนหลังกับแอปพลิเคชันที่สร้างใน Visual Basic เวอร์ชันก่อนหน้าเป็นหลัก คอนโทรล CommonDialog จัดเตรียมวิธีง่ายๆ ในการจัดการการเข้าถึงไฟล์ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวควบคุม CommonDialog ดู "การควบคุมอื่นๆ" ภายหลังในบทนี้
การควบคุมอื่นๆ
VisualBasic ยังมีการควบคุมมาตรฐานอื่นๆ อีกมากมาย การควบคุมแต่ละรายการมีจุดประสงค์เฉพาะ
การควบคุมตัวจับเวลาสามารถสร้างเหตุการณ์ในช่วงเวลาที่เกิดซ้ำในแอปพลิเคชันของคุณ สิ่งนี้มีประโยชน์สำหรับการเรียกใช้โค้ดที่ไม่ต้องการการโต้ตอบจากผู้ใช้
ตัวควบคุมคอนเทนเนอร์ OLE ช่วยให้เพิ่มฟังก์ชันต่างๆ เช่น การเชื่อมโยงและการฝังลงในแอปพลิเคชันได้อย่างง่ายดาย ด้วยการควบคุมคอนเทนเนอร์ OLE คุณสามารถให้การเข้าถึงฟังก์ชันการทำงานของแอปพลิเคชันใด ๆ ที่มีอยู่ OLE (เช่น Microsoft Excel, Word และแอปพลิเคชันอื่น ๆ อีกมากมาย)
ตัวควบคุม CommonDialog เพิ่มกล่องโต้ตอบในตัวให้กับแอปพลิเคชันสำหรับการเลือกไฟล์ สี แบบอักษร และฟังก์ชันการพิมพ์
รายละเอียด สำหรับ ข้อมูลเพิ่มเติมเกี่ยวกับการควบคุมมาตรฐาน โปรดดูบทที่ 7 "การใช้การควบคุมมาตรฐานของ Visual Basic"
ภาพรวมโฟกัส
จุดเน้นอยู่ที่ความสามารถในการรับการป้อนข้อมูลด้วยเมาส์หรือแป้นพิมพ์ของผู้ใช้ เมื่อวัตถุมีโฟกัส ก็จะสามารถรับอินพุตจากผู้ใช้ได้ ในอินเทอร์เฟซ Microsoft Windows แอปพลิเคชันหลายตัวสามารถทำงานได้ตลอดเวลา แต่เฉพาะแอปพลิเคชันที่มีโฟกัสเท่านั้นที่มีแถบหัวเรื่องที่ใช้งานอยู่และสามารถรับอินพุตจากผู้ใช้ได้ ในรูปแบบ Visual Basic ที่มีกล่องข้อความหลายกล่อง เฉพาะกล่องข้อความที่มีโฟกัสเท่านั้นที่แสดงข้อความที่ป้อนโดยคีย์บอร์ด
เมื่อวัตถุได้รับหรือสูญเสียโฟกัส เหตุการณ์ GotFocus หรือ LostFocus จะถูกสร้างขึ้น แบบฟอร์มและการควบคุมส่วนใหญ่สนับสนุนเหตุการณ์เหล่านี้
วิธีการต่อไปนี้กำหนดโฟกัสให้กับวัตถุ
เลือกวัตถุขณะรันไทม์
ใช้ปุ่มลัดเพื่อเลือกวัตถุขณะรันไทม์
ใช้เมธอด SetFocus ในโค้ดของคุณ
สำหรับวัตถุบางชนิดก็สามารถมองเห็นได้ว่ามีโฟกัสหรือไม่ ตัวอย่างเช่น เมื่อปุ่มคำสั่งมีโฟกัส ขอบรอบชื่อเรื่องจะถูกไฮไลท์ (ดูรูปที่ 3.19)
วัตถุสามารถรับโฟกัสได้ก็ต่อเมื่อคุณสมบัติ Enabled และ Visible นั้นเป็น True คุณสมบัติ Enabled ช่วยให้วัตถุตอบสนองต่อเหตุการณ์ที่ผู้ใช้สร้างขึ้น เช่น เหตุการณ์ของแป้นพิมพ์และเมาส์ คุณสมบัติ Visible กำหนดว่าวัตถุจะมองเห็นได้บนหน้าจอหรือไม่
โปรดทราบ ว่าเฉพาะแบบฟอร์มที่ไม่มีตัวควบคุมใดๆ ที่สามารถรับโฟกัสเท่านั้นที่สามารถรับโฟกัสได้
ตรวจสอบเหตุการณ์ของการควบคุม
ตัวควบคุมยังมีเหตุการณ์ตรวจสอบซึ่งเกิดขึ้นก่อนที่ตัวควบคุมจะสูญเสียโฟกัส อย่างไรก็ตาม เหตุการณ์นี้เกิดขึ้นเฉพาะเมื่อมีการตั้งค่าคุณสมบัติ CausesValidation ของตัวควบคุมเกี่ยวกับการรับโฟกัสเป็น True ในหลายกรณี เนื่องจากเหตุการณ์ Validate เกิดขึ้นก่อนที่จะสูญเสียโฟกัส จึงเหมาะสำหรับการตรวจสอบความถูกต้องของข้อมูลมากกว่าเหตุการณ์ LostFocus สำหรับข้อมูลเพิ่มเติม โปรดดู "การตรวจสอบข้อมูลการควบคุมโดยการจำกัดโฟกัส" ในบทที่ 7 "การใช้ตัวควบคุมมาตรฐานของ Visual Basic"
การควบคุมที่ไม่สามารถรับโฟกัสได้
ตัวควบคุมบางอย่าง เช่น ตัวควบคุมแบบน้ำหนักเบา ไม่สามารถรับโฟกัสได้ การควบคุมแบบน้ำหนักเบาประกอบด้วยการควบคุมต่อไปนี้:
การควบคุมเฟรม
การควบคุมภาพ
การควบคุมฉลาก
การควบคุมสาย
การควบคุมรูปร่าง
นอกจากนี้ การควบคุมที่ไม่สามารถมองเห็นได้ในขณะรันไทม์ เช่น การควบคุมตัวจับเวลา จะไม่สามารถยอมรับโฟกัสได้
-