ฉันเพิ่มรายการเมนู ปุ่มแถบควบคุม และแผ่นคุณสมบัติให้กับวัตถุสแนปอิน?

มีส่วนประกอบ (UI) อินเทอร์เฟซผู้ใช้หลายของ MMC snap-in ในวัตถุที่สามารถกำหนดเอง บางพื้นที่เหล่านี้ เช่นปุ่มแถบเครื่องมือและเมนูสินค้า มีผลกับคอมโพเนนต์ของโปรแกรมประยุกต์ที่ MMC ส่วนประกอบขั้นสุดท้ายคือ แผ่นคุณสมบัติมาตรฐานที่แสดงคุณสมบัติ ของสแนปอินวัตถุ ที่สามารถถูกกำหนดเอง โดยผู้ใช้ โดยค่าเริ่มต้น ช่วยสร้างสแนปอิน MMC ไม่สร้างองค์ประกอบ UI แบบกำหนดเอง อย่างไรก็ตาม มีตัวยึดตำแหน่งตลอดทั้งวัตถุ snap-in ในรหัสที่บ่งชี้ว่า การองค์ประกอบ UI แบบกำหนดเองของคุณสามารถไปไหน?

การเพิ่มรายการเมนูบริบทแบบกำหนดเอง

พื้นที่หนึ่งที่คุณสามารถกำหนดเองเมนูบริบทสำหรับรายการของวัตถุสแนปอินได้ รายการเมนูที่สี่จะพร้อมใช้งานสำหรับการปรับแต่ง: Top ใหม่ งาน และมุมมอง ช่วยสร้างสแนปอินสร้างทรัพยากรเมนูพร้อม ด้วยตัวยึดสำหรับสี่สล็อต?

เนื่องจากทรัพยากรของเมนูเป็นที่รู้จักกัน โดยวัตถุสแนปอิน เพิ่มรายการเมนูแบบกำหนดเองใด ๆ ที่จำเป็นภายใต้ช่องเสียบที่เหมาะสม และจะปรากฏโดยอัตโนมัติในเมนูบริบทของรายการใด ๆ ในสแนปอิน สินค้าสแนปอินรู้ทรัพยากรที่เมนูการใช้ได้เนื่องจากวัตถุข้อมูลประกอบด้วยการประกาศต่อไปนี้:

 SNAPINMENUID(IDR_MMCSNAP_MENU)

Platform SDK มีอินเทอร์เฟซ ( IExtendContextMenu) การกำหนดเองเมนูบริบทของสินค้าสแนปอิน ในกรณีส่วนใหญ่ คุณไม่จำเป็นต้องเรียกใช้อินเทอร์เฟซนี้โดยตรง แต่ถ้าขั้นสแน็ปอินจะสูง ข้อมูลเพิ่มเติมเกี่ยวกับอินเทอร์เฟซนี้จะพร้อมใช้งานในPlatform SDK?

การเพิ่มตัวควบคุมแถบปุ่ม

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

Platform SDK มีอินเทอร์เฟซ ( IExtendControlbar) การกำหนดเองในแถบควบคุมของสแนปอินแบบ ในกรณีส่วนใหญ่ คุณไม่จำเป็นต้องเรียกใช้อินเทอร์เฟซนี้โดยตรง แต่ถ้าขั้นสแน็ปอินจะสูง ข้อมูลเพิ่มเติมเกี่ยวกับอินเทอร์เฟซนี้จะพร้อมใช้งานในPlatform SDK?

การเพิ่มแผ่นคุณสมบัติ

แต่ละรายการ snap-in ในสามารถแสดงคุณสมบัติมาตรฐานแผ่น เข้าถึงได้จากเมนูบริบทเมื่อผู้ใช้คำเมาส์?

โดยค่าเริ่มต้น ช่วยสร้างสแนปอิน MMC ไม่ได้ให้ใช้งานสำหรับฟังก์ชันการทำงานนี้ อย่างไรก็ตาม ถ้าคุณเลือกกล่องกาเครื่องหมายIExtendPropertySheetตัวช่วยสร้างเริ่มต้นคุณสมบัติหน้าชั้น ( CSnapNamePage มาจากCSnapInPropertyPageImpl) และทรัพยากรการโต้ตอบ (IDD_SnapName) สำหรับแผ่นคุณสมบัติ?

คุณลักษณะนี้ทำ การเพิ่มตัวควบคุมที่อนุญาตให้ผู้ใช้สามารถปรับเปลี่ยนคุณสมบัติของสินค้าสแนปอิน?

การเพิ่มหน้าเพิ่มเติมไปยังแผ่นคุณสมบัติ คุณต้องชั้นหน้าคุณสมบัติใหม่ การทรัพยากรการโต้ตอบใหม่ และรหัสเพิ่มเติมในเมธอดCreatePropertyPagesของคลาสข้อมูลของคุณ ในตัวอย่างนี้ คลาสใหม่ที่เรียกว่า CMMCSnapPage2 และทรัพยากรการโต้ตอบIDD_MMCSNAP2?

เมื่อคุณมีเรียนที่จำเป็นและทรัพยากร เพิ่มวิธีการสร้าง และเพิ่มหน้าคุณสมบัติใหม่ไปยังแผ่นงานCreatePropertyPages ตัวอย่างเช่น รหัสต่อไปนี้เพิ่มหน้าใหม่ ( pPage2 ), ถูกพัฒนา ด้วยใหม่ CMMCSnapPage2 คลาส วัตถุสแนปอิน:

CMMCSnapPage2 * pPage2 = CMMCSnapPage2(_T("MMCSnap2")) ใหม่
lpProvider-gtAddPage (pPage2 - > Create())

Platform SDK มีอินเทอร์เฟซ ( IExtendPropertySheet) แผ่นคุณสมบัติของสแนปอินแบบที่กำหนดเอง ในกรณีส่วนใหญ่ คุณไม่จำเป็นต้องเรียกใช้อินเทอร์เฟซนี้โดยตรง แต่ถ้าขั้นสแน็ปอินจะสูง ข้อมูลเพิ่มเติมเกี่ยวกับอินเทอร์เฟซนี้จะพร้อมใช้งานในPlatform SDK?

Index