CFileDialog

คลาCFileDialog encapsulates โดยทั่วไปแฟ้มกล่องโต้ตอบ Windows กล่องโต้ตอบแฟ้มทั่วไปให้วิธีง่ายในการใช้ เปิดแฟ้ม และแฟ้มบันทึกเป็นโต้ตอบกล่อง (รวมทั้งกล่องโต้ตอบการเลือกแฟ้มอื่น ๆ) ในลักษณะที่สอดคล้องกับมาตรฐานของ Windows?

คุณสามารถใช้CFileDialog "เป็น" กับการกำหนดให้ หรือคลาสโต้ตอบของคุณเองที่ได้สืบทอดมาจากCFileDialogและเขียนการกำหนดให้เหมาะสมกับความต้องการของคุณ ในกรณีใด กล่องโต้ตอบเหล่านี้จะทำงานเหมือนกับกล่องโต้ตอบ Microsoft Foundation คลาสมาตรฐานเนื่องจากพวกเขาได้รับมาจากคลาสCCommonDialog?

การใช้วัตถุCFileDialogสร้างวัตถุโดยใช้พารามิเตอร์ที่CFileDialogก่อน หลังจากที่กล่องโต้ตอบสร้าง คุณสามารถตั้งค่า หรือปรับเปลี่ยนค่าใด ๆ ในโครงสร้างแบบm_ofnเพื่อเตรียมใช้งานค่าหรือสถานะของตัวควบคุมของกล่องโต้ตอบ โครงสร้างm_ofnเป็นชนิดOPENFILENAME ดูข้อมูลเพิ่มเติม การ OPENFILENAMEโครงสร้างในเอกสารประกอบ Win32 SDK?

หลังจากการเตรียมใช้งานตัวควบคุมของกล่องโต้ตอบการ เรียกใช้ฟังก์ชันDoModalสมาชิกเพื่อแสดงกล่องโต้ตอบ และอนุญาตให้ผู้ใช้ป้อนเส้นทางและแฟ้ม DoModalส่งกลับผู้ใช้เลือก OK (IDOK) หรือปุ่มยกเลิก (IDCANCEL)?

ถ้าDoModalส่งกลับIDOKคุณสามารถใช้CFileDialogของสมาชิกที่สาธารณะฟังก์ชันใดฟังก์ชันหนึ่งเพื่อเรียกข้อมูลที่ป้อน โดยผู้ใช้?

CFileDialogมีสมาชิกได้รับการป้องกันหลายที่ช่วยให้คุณสามารถทำการจัดการแบบกำหนดเองของการละเมิดที่ใช้ร่วมกัน การตรวจสอบชื่อไฟล์ และกล่องรายการแจ้งเตือนการเปลี่ยนแปลง สมาชิกเหล่านี้ได้รับการป้องกันมีฟังก์ชันการเรียกกลับที่โปรแกรมประยุกต์ส่วนใหญ่ไม่จำเป็นต้องใช้ ตั้งแต่เริ่มต้นจัดการทำได้โดยอัตโนมัติ ข้อความแผนผังรายการสำหรับฟังก์ชันเหล่านี้จึงไม่จำเป็นเนื่องจากฟังก์ชันเสมือนมาตรฐาน?

คุณสามารถใช้ฟังก์ชัน Windows CommDlgExtendedErrorเพื่อตรวจสอบว่า มีข้อผิดพลาดเกิดขึ้นในระหว่างการเริ่มต้นของกล่องโต้ตอบ และ เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับข้อผิดพลาด?

ทำลายCFileDialogวัตถุถูกจัดการโดยอัตโนมัติ คุณไม่จำเป็นในการเรียกCDialog::EndDialog?

การอนุญาตให้ผู้ใช้สามารถเลือกแฟ้มหลาย ๆ แฟ้ม กำหนดค่าสถานะOFN_ALLOWMULTISELECTก่อนการเรียกDoModal คุณจำเป็นต้องจัดหาบัฟเฟอร์ชื่อแฟ้มของคุณเองเพื่อรองรับการส่งกลับรายการของชื่อแฟ้มต่าง ๆ ทำได้ โดยแทนm_ofn.lpstrFileด้วยตัวชี้การบัฟเฟอร์ที่คุณปันส่วน หลัง จากตรวจการCFileDialogแต่ ก่อนเรียกDoModal นอกจากนี้ คุณต้องตั้งค่าm_ofn.nMaxFileกับจำนวนของอักขระในบัฟเฟอร์ชี้ไปตามm_ofn.lpstrFile?

CFileDialogอาศัยการ COMMDLGแฟ้ม DLL ที่มาพร้อมกับ Windows รุ่น 3.1 และรุ่นที่ใหม่กว่า?

ถ้าคุณได้สืบทอดมาชั้นใหม่จากCFileDialogคุณสามารถใช้การแมปข้อความการจัดการกับข้อความใด ๆ ขยายข้อความเริ่มต้นการจัดการ การได้คลาสที่สืบทอดมาจากCWndเพิ่มแผนที่ความคลาใหม่ และให้สมาชิกฟังก์ชันสำหรับข้อความใหม่ คุณไม่ต้องให้ฟังก์ชัน hook ของบันทึกการกำหนดเองกล่องโต้ตอบ?

กล่องโต้ตอบที่กำหนดเอง การได้คลาสที่สืบทอดมาจากCFileDialogเป็นแม่แบบในการโต้ตอบที่กำหนดเอง และเพิ่มแผนที่ข้อความการประมวลผลข้อความแจ้งเตือนจากตัวควบคุมขยาย ข้อความใด ๆ unprocessed ควรถูกส่งผ่านไปยังคลาสพื้นฐาน?

การกำหนดฟังก์ชันของ hook ไม่จำเป็น?

ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้CFileDialog, เรียนโต้ตอบทั่วไปในVisual c ++ Programmer ของคำแนะนำ?

#รวม lt;afxdlgs.h>

สมาชิกของคลาส|nbsp คลาสพื้นฐาน| แผนภูมิของลำดับชั้น(&N)

Index