TN022: ใช้งานคำสั่งมาตรฐาน

หมายเหตุนี้อธิบายการใช้งานคำสั่งมาตรฐานโดย MFC 2.0 โปรดแน่ใจอ่าน21 หมายเหตุด้านเทคนิคก่อนเนื่องจากการที่อธิบายกลไกที่ใช้ในการนำมาใช้หลายคำสั่งมาตรฐาน?

คำอธิบายนี้ถือว่าความรู้ของ MFC สถาปัตยกรรม APIs และฝึกการเขียนโปรแกรมทั่วไป มีการระบุไว้ เป็นอย่างชาญฉลาด "ปฏิบัติเท่านั้น" APIs ได้อธิบายไว้ นี่ไม่ใช่สถานที่เพื่อเริ่มต้นการเรียนรู้เกี่ยวกับคุณลักษณะของหรือวิธีการที่โปรแกรมใน MFC โปรดอ่านคู่มือของ Visual c ++ Programmer ของสำหรับข้อมูลทั่วไป และรายละเอียดของการส่ง APIs?

ปัญหา

MFC กำหนดหลายคำสั่งมาตรฐานรหัสในส่วนหัวของแฟ้ม AFXRESH. Framework สนับสนุนสำหรับคำสั่งเหล่านี้แตกต่างไป ทำความเข้าใจเกี่ยวกับสถานที่ และลักษณะคลาสที่กรอบจัดการจะคำสั่งเหล่านี้ไม่เพียง แต่แสดงวิธีการที่กรอบภายในการทำงาน แต่จะให้ข้อมูลที่เป็นประโยชน์เกี่ยวกับวิธีการปรับแต่งการใช้งานมาตรฐาน และหวังว่าสอนคุณเกี่ยวกับเทคนิคบางสำหรับการใช้งานตัวจัดการคำสั่งของคุณเอง?

เนื้อหาของหมายเหตุทางเทคนิคนี้

ID ของแต่ละคำสั่งมีการอธิบายไว้ในส่วนที่สอง:

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

แบบแผนการตั้งชื่อ

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

เราใช้คำนำหน้า "ID_" เพื่อแสดงคำสั่งที่ถูกออกแบบให้สามารถผูกเข้ากับรายการเมนู ปุ่มแถบเครื่องมือ หรือวัตถุอื่น ๆ ส่วนติดต่อผู้ใช้คำสั่ง ตัวจัดการคำสั่งจัดการคำสั่ง "ID_" ควรใช้กลไกของสถาปัตยกรรมสั่ง MFC ON_COMMANDและON_UPDATE_COMMAND_UI?

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

ช่วง ID

กรุณาอ้างอิงถึง20 หมายเหตุทางเทคนิคสำหรับรายละเอียดเพิ่มเติมในการใช้ ID ช่วงใน MFC?

คำสั่งมาตรฐานของ MFC ตกอยู่ในช่วง 0xE000 ไป 0xEFFF กรุณาไม่พึ่งค่าเฉพาะของรหัสเหล่านี้เนื่องจากพวกเขาสามารถเปลี่ยนแปลงในไลบรารีรุ่นในอนาคต?

โปรแกรมประยุกต์ของคุณควรกำหนดของคำสั่งในช่วง 0x8000 ไป 0xDFFF?

รหัสคำสั่งมาตรฐาน

สำหรับแต่ละคำสั่ง ID มีมาตรฐานข้อความบรรทัดพร้อมท์สตที่สามารถพบได้ในการแสดงกล่องโต้ตอบแฟ้มRC ID สายอักขระสำหรับพร้อมท์ที่เมนูต้องเหมือนกันสำหรับ ID คำสั่ง?

ตัวจัดการคำสั่งปรับปรุงเท่านั้น

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

ทั้งสามเหล่านี้จะถูกนำมาใช้ในCFrameWnd::OnUpdateKeyIndicatorผู้ช่วยเหลือการใช้งานที่ใช้ใน ID สั่งการแมปไปยังคีย์เสมือนที่เหมาะสม การใช้งานทั่วไปเปิดใช้งาน หรือปิดใช้งาน (บานหน้าต่างสถานะที่ถูกปิดใช้งาน =ไม่มีข้อความ) วัตถุCCmdUIทั้งนี้ขึ้นอยู่กับว่าคีย์การเสมือนที่เหมาะสมถูกล็อกไว้ในปัจจุบัน?

การกำหนดเองของตัวจัดการคำสั่งนี้ไม่แนะนำ?

ในปัจจุบันมีมาตรฐานไม่มีการใช้งานสำหรับตัวบ่งชี้การทำงานเหล่านี้?

ถ้าคุณเลือกที่จะใช้ตัวบ่งชี้นี้ เราแนะนำให้คุณใช้รหัสเหล่านี้ตัวบ่งชี้และการรักษาสั่งซื้อของตัวบ่งชี้ที่ในแถบสถานะของคุณ (นั่นคือ ในใบสั่งนี้: EXT, CAP, NUM, SCRL, OVR, REC)?

หมายเหตุด้านเทคนิคตามหมายเลข|nbsp หมายเหตุด้านเทคนิคตามประเภท(&N)

Index