การใช้ตัวควบคุม CommonDialog
ตัวควบคุม CommonDialog จัดเตรียมชุดกล่องโต้ตอบมาตรฐานสำหรับการดำเนินการ เช่น การเปิดและบันทึกไฟล์ การตั้งค่าตัวเลือกการพิมพ์ และการเลือกสีและแบบอักษร ตัวควบคุมยังสามารถแสดงวิธีใช้เมื่อโปรแกรมวิธีใช้ Windows กำลังทำงานอยู่
ตัวควบคุม CommonDialog ให้อินเทอร์เฟซระหว่าง Visual Basic และชุดคำสั่งไลบรารีลิงก์แบบไดนามิกของ Microsoft Windows Commdlg.dll ในการสร้างกล่องโต้ตอบด้วยการควบคุมนี้ Commdlg.dll จะต้องอยู่ในไดเร็กทอรี MicrosoftWindows/System
ในการใช้ตัวควบคุม CommonDialog ในแอปพลิเคชันของคุณ คุณควรเพิ่มลงในแบบฟอร์มและตั้งค่าคุณสมบัติ กล่องโต้ตอบที่แสดงโดยตัวควบคุมถูกกำหนดโดยวิธีการของตัวควบคุม ในระหว่างรันไทม์ กล่องโต้ตอบหรือกลไกช่วยเหลือจะแสดงขึ้นหลังจากเรียกวิธีการที่เกี่ยวข้อง ในระหว่างการออกแบบ ตัวควบคุม CommonDialog จะแสดงเป็นไอคอนบนแบบฟอร์ม ขนาดของไอคอนนี้ไม่สามารถเปลี่ยนแปลงได้
ตัวควบคุม CommonDialog สามารถแสดงกล่องโต้ตอบทั่วไปต่อไปนี้:
"เปิด"
"บันทึกเป็น"
"สี"
"แบบอักษร"
"พิมพ์"
เมื่อต้องการใช้ตัวควบคุม CommonDialog
1. หากไม่ได้เพิ่มตัวควบคุม CommonDialog คุณควรเลือก "ส่วนประกอบ" จากเมนู "โครงการ" และเพิ่มตัวควบคุมลงในกล่องเครื่องมือ ค้นหาและเลือกตัวควบคุมใน "การควบคุม" ของกล่องโต้ตอบการทำเครื่องหมาย จากนั้นคลิกปุ่ม "ตกลง"
2. คลิกตัวควบคุม "CommonDialog" ในกล่องเครื่องมือและวาดตัวควบคุมบนแบบฟอร์ม เมื่อคุณวาดตัวควบคุม CommonDialog บนแบบฟอร์ม ตัวควบคุมจะปรับขนาดโดยอัตโนมัติ เช่นเดียวกับตัวควบคุมตัวจับเวลา ตัวควบคุม CommonDialog จะไม่สามารถมองเห็นได้ในขณะใช้งาน
3. เมื่อทำงาน โปรดใช้วิธีการที่ระบุไว้ในตารางต่อไปนี้อย่างเหมาะสมเพื่อแสดงกล่องโต้ตอบที่ต้องการ
แสดงกล่องโต้ตอบเปิดและบันทึกเป็น
กล่องโต้ตอบ Open ให้คุณระบุไดรฟ์ ไดเร็กทอรี นามสกุลไฟล์ และชื่อไฟล์ กล่องโต้ตอบบันทึกเป็นมีลักษณะเหมือนกันกับกล่องโต้ตอบเปิด ยกเว้นว่าชื่อกล่องโต้ตอบและชื่อไฟล์จะถูกทำให้จางลง หลังจากเลือกไฟล์และปิดกล่องโต้ตอบขณะรันไทม์ คุณสามารถใช้คุณสมบัติ FileName เพื่อรับชื่อไฟล์ที่เลือกได้
เมื่อต้องการแสดงกล่องโต้ตอบเปิด
1. ระบุรายการตัวกรองไฟล์ที่แสดงในกล่องรายการประเภทไฟล์
คุณสมบัติตัวกรองสามารถตั้งค่าได้ในรูปแบบต่อไปนี้:
คำอธิบาย1|ตัวกรอง1|คำอธิบาย2|ตัวกรอง2...
คำอธิบายคือสตริงที่แสดงในกล่องรายการ - ตัวอย่างเช่น TextFiles(*.txt) ตัวกรองคือตัวกรองไฟล์จริง - ตัวอย่างเช่น *.txt การตั้งค่าคำอธิบาย|ตัวกรองแต่ละรายการจะต้องคั่นด้วยสัญลักษณ์ไปป์ (|)
2. ใช้วิธี ShowOpen เพื่อแสดงกล่องโต้ตอบ
หลังจากเลือกไฟล์แล้ว คุณสามารถใช้คุณสมบัติ FileName เพื่อรับชื่อของไฟล์ที่เลือกได้
สำหรับกล่องโต้ตอบสาธารณะทั้งหมด ข้อผิดพลาดจะถูกสร้างขึ้นเมื่อคุณสมบัติ CancelError เป็น True และผู้ใช้คลิกปุ่มยกเลิกของกล่องโต้ตอบ พบข้อผิดพลาดเมื่อแสดงกล่องโต้ตอบเพื่อตรวจสอบว่ามีการกดปุ่มยกเลิกหรือไม่
รหัสต่อไปนี้จะแสดงกล่องโต้ตอบเปิด และเปิดพารามิเตอร์ของขั้นตอนไฟล์ด้วยชื่อไฟล์ที่เลือก:
PRivateSubmnuFileOpen_Click()
'CancelError เป็นจริง'
OnErrorGoToErrHandler
'ตั้งค่าตัวกรอง
CommonDialog1.Filter=AllFiles(*.*)|*.*|Text_
ไฟล์(*.txt)|*.txt|BatchFiles(*.bat)|*.bat
'ระบุตัวกรองเริ่มต้น
CommonDialog1.FilterIndex=2
'แสดงกล่องโต้ตอบเปิด
CommonDialog1.ShowOpen
'เรียกขั้นตอนในการเปิดไฟล์
OpenFile(CommonDialog1.FileName)
ทางออกย่อย
ข้อผิดพลาดตัวจัดการ:
'ผู้ใช้กดปุ่ม "ยกเลิก"
ทางออกย่อย
สิ้นสุดย่อย
การใช้กล่องโต้ตอบสี
ใช้กล่องโต้ตอบสีเพื่อเลือกสีจากชุดสีหรือเพื่อสร้างและเลือกสีที่กำหนดเอง ณ รันไทม์ คุณสมบัติ สี สามารถใช้เพื่อให้ได้สีที่เลือกหลังจากเลือกสีและปิดกล่องโต้ตอบ
เมื่อต้องการแสดงกล่องโต้ตอบสี
1. ตั้งค่าคุณสมบัติ Flags ของตัวควบคุม CommonDialog เป็นค่าคงที่ VisualBasic cdlCCRGBInit
2. ใช้วิธี ShowColor เพื่อแสดงกล่องโต้ตอบ
คุณสามารถใช้คุณสมบัติสีเพื่อรับค่า RGB ของสีที่เลือกได้ รหัสต่อไปนี้จะแสดงกล่องโต้ตอบสีเมื่อคุณคลิกปุ่มคำสั่ง Command1:
PrivateSubCommand1_คลิก()
'ตั้งค่ายกเลิกเป็นจริง
CommonDialog1.CancelError=True
OnErrorGoToErrHandler
'ตั้งค่าคุณสมบัติธง
CommonDialog1.Flags=cdlCCRGBInit
'แสดงกล่องโต้ตอบสี
CommonDialog1.ShowColor
'กำหนดสีพื้นหลังของแบบฟอร์มให้เป็นสีที่เลือก'
Form1.BackColor=CommonDialog1.Color
ทางออกย่อย
ข้อผิดพลาดตัวจัดการ:
'ผู้ใช้กดปุ่ม "ยกเลิก"
ทางออกย่อย
สิ้นสุดย่อย
การใช้กล่องโต้ตอบแบบอักษร
กล่องโต้ตอบฟอนต์จะเลือกฟอนต์ตามขนาด สี และสไตล์ เมื่อผู้ใช้เลือกแบบอักษรในกล่องโต้ตอบแบบอักษร คุณสมบัติต่อไปนี้ประกอบด้วยข้อมูลเกี่ยวกับตัวเลือกของผู้ใช้
เมื่อต้องการแสดงกล่องโต้ตอบแบบอักษร
1. ตั้งค่าคุณสมบัติ Flags ให้เป็นหนึ่งในค่าคงที่ Visual Basic ต่อไปนี้:
cdlCFScreenFonts (แบบอักษรบนหน้าจอ)
cdlCFPrinterFonts (แบบอักษรของเครื่องพิมพ์)
cdlCFBoth (อาจเป็นแบบอักษรบนหน้าจอหรือแบบอักษรเครื่องพิมพ์ก็ได้)
คำเตือน คุณต้องตั้งค่าคุณสมบัติ Flags เป็นค่าใดค่าหนึ่งเหล่านี้ก่อนที่จะแสดงกล่องโต้ตอบ Font มิฉะนั้นจะเกิดข้อผิดพลาดที่ไม่มีแบบอักษรเกิดขึ้น
2. ใช้วิธี ShowFont เพื่อแสดงกล่องโต้ตอบ
รหัสต่อไปนี้จะตั้งค่าคุณสมบัติแบบอักษรของกล่องข้อความตามการเลือกของผู้ใช้ในกล่องโต้ตอบแบบอักษร:
PrivateSubCommand1_คลิก()
'ตั้งค่ายกเลิกเป็นจริง
CommonDialog1.CancelError=True
OnErrorGoToErrHandler
'ตั้งค่าคุณสมบัติธง
CommonDialog1.Flags=cdlCFBothOrcdlCFEffects
'แสดงกล่องโต้ตอบ "แบบอักษร"
CommonDialog1.ShowFont
'ตั้งค่าคุณสมบัติข้อความตามการเลือกของผู้ใช้
Text1.Font.Name=CommonDialog1.FontName
Text1.Font.Size=CommonDialog1.FontSize
Text1.Font.Bold=CommonDialog1.FontBold
Text1.Font.Italic=CommonDialog1.FontItalic
Text1.Font.Underline=CommonDialog1.FontUnderline
Text1.FontStrikethru=CommonDialog1.FontStrikethru
Text1.ForeColor=CommonDialog1.Color
ทางออกย่อย
ข้อผิดพลาดตัวจัดการ:
'ผู้ใช้กดปุ่ม "ยกเลิก"
ทางออกย่อย
สิ้นสุดย่อย
-