เปิด และบันทึกเป็นกล่องโต้ตอบ

กล่องโต้ตอบเปิดให้ผู้ใช้ระบุไดรฟ์ directory และชื่อของแฟ้มหรือชุดของแฟ้มที่จะเปิด คุณสร้าง และแสดงเป็นกล่องโต้ตอบเปิดด้วยการเตรียมใช้งานโครงสร้างแบบOPENFILENAMEและผ่านโครงสร้างไปยังฟังก์ชันGetOpenFileName.

กล่องโต้ตอบบันทึกเป็นช่วยให้ผู้ใช้ระบุตัวไดรฟ์ directory และชื่อของแฟ้มบันทึก คุณสร้าง และแสดงกล่องโต้ตอบบันทึกเป็นโดยการเตรียมใช้งานโครงสร้างแบบOPENFILENAMEและผ่านโครงสร้างไปยังฟังก์ชันGetSaveFileName.

เริ่มต้น ด้วย Windows 95 และ Windows NT 4.0 รุ่น รุ่นใหม่ของกล่องโต้ตอบเปิดและบันทึกเป็นแสดงคุณลักษณะของอินเทอร์เฟซสำหรับผู้ใช้ที่คล้ายกับ Windows Explorer อย่างไรก็ตาม ระบบยังคงให้สนับสนุนแบบเปิดและบันทึกเป็นกล่องโต้ตอบสำหรับโปรแกรมประยุกต์ที่ต้องให้สอดคล้องกับอินเทอร์เฟซสำหรับผู้ใช้เก่า.

นอกจากการความแตกต่างในลักษณะ Explorer-ลักษณะและกล่องโต้ตอบลักษณะเดิมแตกต่างกันในการใช้แม่แบบแบบกำหนดเอง และขั้นตอนสำหรับการกำหนดเองในกล่องโต้ตอบที่เกี่ยว อย่างไรก็ตาม Explorer-ลักษณะและกล่องโต้ตอบลักษณะเดิมมีลักษณะการทำงานเดียวกันสำหรับการดำเนินการพื้นฐานที่สุด เช่นการระบุตัวกรอง filename ตรวจสอบการป้อนข้อมูลของผู้ใช้ และรับชื่อแฟ้มที่ระบุ โดยผู้ใช้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับลักษณะ Explorer และกล่องโต้ตอบลักษณะเดิม ดูเปิดและบันทึกเป็นโต้ตอบกล่องเอง.

ภาพประกอบต่อไปนี้แสดงกล่องโต้ตอบลักษณะ Explorerเปิดทั่วไป.

ภาพประกอบต่อไปนี้แสดงโดยทั่วไปลักษณะ Explorerบันทึกเป็นกล่องโต้ตอบ.

ถ้าผู้ใช้ระบุชื่อแฟ้ม และคลิกปุ่มOK , GetOpenFileNameหรือGetSaveFileNameส่งกลับ TRUE บัฟเฟอร์ที่ชี้ไป โดยสมาชิกlpstrFileของโครงสร้างOPENFILENAMEไม่ประกอบด้วยพาธเต็มและชื่อแฟ้มที่ระบุ โดยผู้ใช้.

ถ้าผู้ใช้ยกเลิกกล่องโต้ตอบเปิดหรือบันทึกเป็นหรือมีข้อผิดพลาดเกิดขึ้น ฟังก์ชันส่งกลับค่า FALSE เมื่อต้องการระบุสาเหตุของข้อผิดพลาด เรียกใช้ฟังก์ชันCommDlgExtendedErrorเพื่อเรียกค่าความผิดพลาดแบบขยาย ถ้าlpstrFileบัฟเฟอร์มีขนาดเล็กเกินไปที่จะได้รับชื่อเต็มCommDlgExtendedError FNERR_BUFFERTOOSMALL และ 2 ไบต์แรกของบัฟเฟอร์ที่ชี้ไป โดยสมาชิกlpstrFileถูกตั้งค่าเพื่อใช้ค่าจำนวนเต็มที่ระบุขนาดจำเป็นต้องได้รับชื่อเต็มส่งกลับ.

Explorer ลักษณะกล่องโต้ตอบจะพร้อมใช้งานสำหรับโปรแกรมประยุกต์แบบ 32 บิตเท่านั้น โปรแกรมประยุกต์ขนาด 16 บิตไม่สามารถใช้ thunking เพื่อแสดงกล่องโต้ตอบการลักษณะ Explorer.

Windows 95 และ Windows 98: โปรแกรมประยุกต์ที่ใช้กล่องโต้ตอบลักษณะเดิมใช้ Win32 ทำใช้เป็น thunk ซึ่งหมายความ ว่า ตัวชี้ใด ๆ ที่ส่งผ่านไปยังขั้นตอนของ hook ของคุณคือ nonpersistent สำเนาของข้อมูล ตัวอย่างเช่น ตัวชี้OPENFILENAMEที่ส่งผ่านข้อความ WM_INITDIALOG ไม่ได้เป็นตัวชี้การบัฟเฟอร์ที่คุณระบุไว้แต่เดิม ถ้าคุณต้องการส่งต่อข้อมูลส่วนตัวของคุณขั้นตอนของ hook ปกในโครงสร้าง และเก็บตัวชี้ไปยังโครงสร้างในสมาชิกlCustDataของโครงสร้างOPENFILENAME.

Index