ตั้งค่าลำดับแท็บ
ตัวอย่างเช่น สมมติว่าคุณสร้างกล่องข้อความสองกล่องชื่อ Text1 และ Text2 จากนั้นสร้าง CommandButton ชื่อ Commandl เมื่อแอปพลิเคชันเริ่มทำงาน Text1 จะมีโฟกัส การกดปุ่ม TAB จะทำให้โฟกัสย้ายไปมาระหว่างตัวควบคุมตามลำดับที่สร้างขึ้น ดังแสดงในรูปที่ 3.20
การตั้งค่าคุณสมบัติ TabIndex จะเปลี่ยนลำดับแท็บของตัวควบคุม คุณสมบัติ TabIndex ของตัวควบคุมจะกำหนดตำแหน่งในลำดับแท็บ ตามกฎเริ่มต้น ค่า TabIndex ของตัวควบคุมแรกที่สร้างขึ้นคือ 0 ค่า TabIndex ของตัวควบคุมที่สองคือ 1 และอื่นๆ เมื่อคุณเปลี่ยนตำแหน่งลำดับแท็บของตัวควบคุม Visual จะกำหนดหมายเลขตำแหน่งลำดับแท็บของตัวควบคุมอื่นๆ ใหม่โดยอัตโนมัติเพื่อแสดงการแทรกและการลบ ตัวอย่างเช่น หากต้องการให้ Command1 เป็นลำดับแรกในลำดับคีย์แท็บ ค่า TabIndex ของตัวควบคุมอื่นๆ จะถูกปรับขึ้นด้านบนโดยอัตโนมัติ ดังแสดงในตารางต่อไปนี้
เนื่องจากการกำหนดหมายเลขเริ่มต้นที่ 0 ค่าสูงสุดของ TabIndex จึงน้อยกว่าจำนวนตัวควบคุมในลำดับแท็บเสมอ แม้ว่าค่าคุณสมบัติ TabIndex จะสูงกว่าจำนวนตัวควบคุม Visual Basic จะแปลงค่านี้เป็นจำนวนตัวควบคุมลบหนึ่ง
โปรดทราบว่า ตัวควบคุมที่ไม่สามารถโฟกัสได้ รวมถึงตัวควบคุมที่ไม่ถูกต้องและมองไม่เห็น จะไม่มีคุณสมบัติ TabIndex ดังนั้นจึงไม่ถูกรวมอยู่ในลำดับแท็บ การควบคุมเหล่านี้จะถูกข้ามไปเมื่อกดปุ่ม TAB
ลบการควบคุมตามลำดับแท็บ
โดยปกติ การกดปุ่ม TAB ระหว่างรันไทม์จะเลือกตัวควบคุมแต่ละตัวในลำดับแท็บ ตั้งค่าคุณสมบัติ TabStop ของตัวควบคุมเป็น False(0) เพื่อลบตัวควบคุมออกจากลำดับแท็บ
ตัวควบคุมที่คุณสมบัติ TabStop ถูกตั้งค่าเป็น False ยังคงรักษาตำแหน่งในลำดับแท็บจริง ยกเว้นว่าตัวควบคุมจะถูกข้ามไปเมื่อกดปุ่ม Tab
โปรดทราบว่า กลุ่ม OptionButton มีสถานีแท็บเดียวเท่านั้น คุณสมบัติ TabStop ของปุ่มที่เลือก (นั่นคือ ปุ่มที่มีค่าเป็น True) จะถูกตั้งค่าเป็น True โดยอัตโนมัติ ในขณะที่คุณสมบัติ TabStop ของปุ่มอื่นๆ จะเป็น False
พื้นฐานของเมนู
หากแอปพลิเคชันจัดเตรียมชุดคำสั่งให้กับผู้ใช้ เมนูจะมอบวิธีที่สะดวกในการจัดกลุ่มคำสั่งและทำให้ผู้ใช้เข้าถึงได้ง่าย
รูปที่ 3.21 แสดงองค์ประกอบอินเทอร์เฟซเมนูของแบบฟอร์มที่ไม่มีชื่อ
แถบเมนูจะปรากฏใต้แถบชื่อเรื่องของแบบฟอร์มทันที และมีชื่อเมนูตั้งแต่หนึ่งชื่อขึ้นไป เมื่อคุณคลิกชื่อเมนู (เช่น "ไฟล์") รายการที่มีรายการเมนูจะถูกดึงลงมา รายการเมนูอาจประกอบด้วยคำสั่ง (เช่น ใหม่ และ ออก) ตัวคั่น และชื่อเมนูย่อย แต่ละรายการเมนูที่ผู้ใช้เห็นสอดคล้องกับการควบคุมเมนูที่กำหนดไว้ในตัวแก้ไขเมนู (ตัวแก้ไขเมนูจะกล่าวถึงในบทนี้ต่อไป)
เพื่อให้แอปพลิเคชันของคุณเรียบง่ายและใช้งานง่าย ควรจัดกลุ่มรายการเมนูตามฟังก์ชันการทำงาน ตัวอย่างเช่น คำสั่งที่เกี่ยวข้องกับไฟล์ "ใหม่", "เปิด" และ "บันทึกเป็น" ในรูปที่ 3.21 ล้วนแสดงอยู่ในเมนู "ไฟล์" รายการเมนูบางรายการจะดำเนินการโดยตรง เช่น รายการเมนู "ออก" ในเมนู "ไฟล์" ที่จะปิดแอปพลิเคชัน รายการเมนูอื่นๆ จะแสดงกล่องโต้ตอบ ซึ่งเป็นหน้าต่างที่ขอให้ผู้ใช้ระบุข้อมูลที่แอปพลิเคชันจำเป็นต้องดำเนินการ รายการเมนูเหล่านี้ควรตามด้วยวงรี (...) ตัวอย่างเช่น เมื่อคุณเลือกบันทึกเป็น... จากเมนูไฟล์ กล่องโต้ตอบไฟล์บันทึกเป็นจะปรากฏขึ้น
ตัวควบคุมเมนูเป็นวัตถุ เช่นเดียวกับวัตถุอื่นๆ มีคุณสมบัติที่กำหนดลักษณะที่ปรากฏและลักษณะการทำงาน คุณสมบัติคำอธิบาย คุณสมบัติที่เปิดใช้งานและมองเห็นได้ คุณสมบัติที่ตรวจสอบ และคุณสมบัติอื่นๆ สามารถตั้งค่าได้ในขณะออกแบบหรือรันไทม์ ตัวควบคุมเมนูประกอบด้วยเหตุการณ์เดียวเท่านั้น นั่นคือเหตุการณ์คลิก ซึ่งจะถูกเรียกเมื่อตัวควบคุมเมนูถูกเลือกด้วยเมาส์หรือแป้นพิมพ์
สำหรับ ข้อมูลเพิ่มเติมเกี่ยวกับการควบคุมเมนู โปรดดู "การสร้างเมนูด้วยตัวแก้ไขเมนู" ในบทที่ 6 "การสร้างอินเทอร์เฟซผู้ใช้"
เมนูป๊อปอัป
เมนูป๊อปอัปเป็นเมนูลอยที่แสดงบนแบบฟอร์มและไม่ขึ้นอยู่กับแถบเมนู ดังแสดงในรูปที่ 3.22 รายการที่แสดงบนเมนูป๊อปอัปขึ้นอยู่กับตำแหน่งของตัวชี้เมื่อกดปุ่มเมาส์ขวา ดังนั้น เมนูป๊อปอัปจึงเรียกว่าเมนูบริบท (ใน Windows 95 การคลิกปุ่มเมาส์ขวาจะเปิดใช้งานบริบท เมนู) ควรใช้เมนูป๊อปอัปเพื่อให้วิธีที่มีประสิทธิภาพในการเข้าถึงคำสั่งบริบททั่วไป ตัวอย่างเช่น คลิกขวาที่กล่องข้อความและเมนูบริบทจะปรากฏขึ้น (ดังแสดงในรูปที่ 3.22)
เมนูใดๆ ที่มีรายการเมนูอย่างน้อยหนึ่งรายการสามารถแสดงเป็นเมนูป๊อปอัปในขณะรันไทม์ได้ ใช้วิธี PopupMenu เพื่อแสดงเมนูป๊อปอัป
สำหรับ ข้อมูลเพิ่มเติมเกี่ยวกับเมนูป๊อปอัป โปรดดู "การสร้างเมนูด้วยตัวแก้ไขเมนู" ในบทที่ 6 "การสร้างอินเทอร์เฟซผู้ใช้"
ใช้ตัวแก้ไขเมนู
เมื่อใช้ "ตัวแก้ไขเมนู" คุณสามารถเพิ่มคำสั่งใหม่ให้กับเมนูที่มีอยู่ แทนที่คำสั่งเมนูที่มีอยู่ด้วยคำสั่งของคุณเอง สร้างเมนูและแถบเมนูใหม่ ตลอดจนเปลี่ยนแปลงและลบเมนูและแถบเมนูที่มีอยู่ ข้อได้เปรียบหลักของตัวแก้ไขเมนูคือใช้งานง่าย สามารถปรับแต่งเมนูในลักษณะโต้ตอบได้อย่างเต็มที่โดยมีการตั้งโปรแกรมเพียงเล็กน้อย
หากต้องการแสดงตัวแก้ไขเมนู
เลือก "ตัวแก้ไขเมนู" ในเมนู "เครื่องมือ" ซึ่งจะเปิด "ตัวแก้ไขเมนู" ดังแสดงในรูปที่ 3.23
คุณสมบัติการควบคุมเมนูส่วนใหญ่สามารถตั้งค่าได้โดยใช้ตัวแก้ไขเมนู เช่นเดียวกัน คุณสมบัติเมนูทั้งหมดจะมีอยู่ในหน้าต่างคุณสมบัติ โดยปกติ คุณจะสร้างเมนูในตัวแก้ไขเมนู แต่หากต้องการเปลี่ยนคุณสมบัติแต่ละรายการอย่างรวดเร็ว ให้ใช้หน้าต่างคุณสมบัติ
สำหรับ ข้อมูลเพิ่มเติมเกี่ยวกับการสร้างเมนูและการใช้ตัวแก้ไขเมนู โปรดดู "การสร้างเมนูด้วยตัวแก้ไขเมนู" ในบทที่ 6 "การสร้างอินเทอร์เฟซผู้ใช้"
แจ้งผู้ใช้ด้วยกล่องโต้ตอบ
ในแอปพลิเคชันที่ใช้ Windows กล่องโต้ตอบจะใช้เพื่อแจ้งให้ผู้ใช้ระบุข้อมูลที่จำเป็นสำหรับแอปพลิเคชันเพื่อทำงานต่อไปหรือเพื่อแสดงข้อมูลแก่ผู้ใช้ กล่องโต้ตอบคือวัตถุแบบฟอร์มชนิดพิเศษที่สามารถสร้างได้ด้วยวิธีใดวิธีหนึ่งจากสามวิธี:
รหัสที่ใช้ฟังก์ชัน MsgBox หรือ InputBox สามารถสร้างกล่องโต้ตอบที่กำหนดไว้ล่วงหน้าได้
สร้างกล่องโต้ตอบแบบกำหนดเองโดยใช้แบบฟอร์มมาตรฐานหรือปรับแต่งกล่องโต้ตอบที่มีอยู่
ใช้ตัวควบคุม CommonDialog เพื่อสร้างกล่องโต้ตอบมาตรฐาน เช่น พิมพ์และเปิดไฟล์
รูปที่ 3.24 เป็นตัวอย่างการใช้ฟังก์ชัน MsgBox เพื่อสร้างกล่องโต้ตอบที่กำหนดไว้ล่วงหน้า
เมื่อฟังก์ชัน MsgBox ถูกเรียกเป็นโค้ด กล่องโต้ตอบจะปรากฏขึ้น รหัสมีดังนี้:
MsgBoxErroren ตอบโต้ขณะพยายามเปิดไฟล์ & vbCrLf & โปรดลองอีกครั้ง, vb Exclamation, TextEditor
คุณต้องระบุข้อมูลสามส่วนหรือพารามิเตอร์สามตัวให้กับฟังก์ชัน MsgBox: ข้อความ ค่าคงที่ (ค่าตัวเลข) ที่กำหนดชนิดของกล่องโต้ตอบ และชื่อเรื่อง การสร้างกล่องโต้ตอบทำได้ง่ายกว่าเนื่องจากสไตล์สามารถใช้ปุ่มและไอคอนผสมกันได้หลากหลาย
เนื่องจากกล่องโต้ตอบส่วนใหญ่จำเป็นต้องมีการโต้ตอบกับผู้ใช้ จึงมักจะแสดงเป็นกล่องโต้ตอบโมดอล ต้องปิดกล่องโต้ตอบโมดอล (ซ่อนหรือยกเลิกการโหลด) ก่อนที่จะใช้ส่วนอื่นๆ ของแอปพลิเคชันต่อไป ตัวอย่างเช่น หากคุณต้องคลิก "ตกลง" หรือ "ยกเลิก" ก่อนที่จะสลับไปยังรูปแบบอื่นหรือกล่องโต้ตอบอื่น กล่องโต้ตอบนี้จะเป็นกล่องโต้ตอบโมดอล
ไม่จำเป็นต้องปิดกล่องโต้ตอบแบบไม่มีโหมดเพื่อให้โฟกัสสามารถย้ายไปมาระหว่างกล่องโต้ตอบและแบบฟอร์มอื่นๆ ในขณะที่กล่องโต้ตอบปรากฏขึ้น คุณสามารถทำงานต่อที่อื่นในแอปพลิเคชันปัจจุบันได้ กล่องโต้ตอบแบบไม่มีโหมดมักปรากฏขึ้นเนื่องจากแอปพลิเคชันต้องการการตอบสนองก่อนดำเนินการต่อ กล่องโต้ตอบ "ค้นหา" ของเมนู "แก้ไข" ใน Visual Basic เป็นกล่องโต้ตอบที่ไม่มีโหมด ใช้กล่องโต้ตอบแบบไม่มีโหมดเพื่อแสดงคำสั่งหรือข้อมูลที่ใช้บ่อย
ข้อมูลเพิ่มเติม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างกล่องโต้ตอบ โปรดดูบทที่ 6 "การสร้างส่วนติดต่อผู้ใช้"
-