ตัวควบคุมกล่องโต้ตอบ

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

แม่แบบระบุลักษณะค่าที่กำหนดลักษณะปรากฏและการทำงานของตัวควบคุมสำหรับตัวควบคุมแต่ละ ควบคุมทุกคือ หน้าต่างลูก และดังนั้นจึง ต้องมีลักษณะ WS_CHILD เพื่อให้แน่ใจว่า ตัวควบคุมจะมองเห็นได้เมื่อกล่องโต้ตอบจะแสดง แต่ละตัวควบคุมต้องมีลักษณะ WS_VISIBLE ลักษณะหน้าต่างที่ใช้โดยทั่วไปอื่น ๆ มี WS_BORDER สำหรับตัวควบคุมที่มีตัวเลือกเส้นขอบ WS_DISABLED สำหรับตัวควบคุมที่ควรถูกปิดใช้งานเมื่อกล่องโต้ตอบการเริ่มต้นสร้าง และ WS_TABSTOP และ WS_GROUP สำหรับตัวควบคุมที่สามารถเข้าถึงได้โดยใช้แป้นพิมพ์ ลักษณะ WS_TABSTOP และ WS_GROUP จะใช้ร่วมกับส่วนติดต่อของแป้นพิมพ์โต้ตอบที่อธิบายไว้ในหัวข้อนี้ในภายหลัง.

แม่แบบอาจระบุควบคุมลักษณะเฉพาะในคลาสหน้าต่างของตัวควบคุมด้วย ตัวอย่างเช่น แม่แบบที่ระบุตัวควบคุมปุ่มต้องให้ปุ่มควบคุมลักษณะเช่น BS_PUSHBUTTON หรือ BS_CHECKBOX ระบบส่งการควบคุมลักษณะลงในกระบวนงานหน้าต่างควบคุมผ่านทางข้อความWM_CREATEช่วยให้กระบวนการดัดแปลงลักษณะปรากฏและการทำงานของตัวควบคุม.

ระบบแปลงพิกัดตำแหน่งและขนาดความกว้างและความสูงจากหน่วยพื้นฐานของการโต้ตอบที่พิกเซล ก่อนที่จะส่งข้อมูลนี้ไปยังCreateWindowEx เมื่อระบบสร้างตัวควบคุม นั้นระบุถึงกล่องโต้ตอบเป็นหน้าต่างหลัก ซึ่งหมายความว่า ระบบแปลพิกัดตำแหน่งของตัวควบคุมเป็นไคลเอ็นต์พิกัด สัมพันธ์กับมุมบนซ้ายของพื้นที่ที่ไคลเอ็นต์ของกล่องโต้ตอบเสมอ.

แม่แบบระบุหน้าต่างชั้นสำหรับตัวควบคุม กล่องโต้ตอบโดยทั่วไปประกอบด้วยตัวควบคุมของตัวควบคุมที่กำหนดไว้ล่วงหน้าหน้าต่างชั้น เช่นปุ่ม และคลาสหน้าต่างตัวควบคุมแก้ไข ในกรณีนี้ แม่แบบระบุหน้าต่างชั้น โดยขายอะตอมที่กำหนดไว้ล่วงหน้าค่าที่สอดคล้องกันสำหรับระดับชั้น เมื่อกล่องโต้ตอบประกอบด้วยตัวควบคุมของหน้าต่างห้องควบคุมแบบกำหนดเอง แม่แบบช่วยให้ชื่อของคลาสหน้าต่างที่จดทะเบียนนั้นหรือค่าของอะตอมในปัจจุบันเกี่ยวข้องกับชื่อ.

แต่ละตัวควบคุมในกล่องโต้ตอบต้องมีตัวระบุที่ไม่ซ้ำกันเพื่อแยกความแตกต่างจากตัวควบคุมอื่น ควบคุมส่งข้อมูลไปยังขั้นตอนในกล่องโต้ตอบผ่านข้อความWM_COMMANDเพื่อควบคุมตัวระบุจะจำเป็นสำหรับกระบวนการในการกำหนดตัวควบคุมใดส่งข้อความกำหนดให้ ข้อยกเว้นเฉพาะกฎนี้จะควบคุมตัวระบุสำหรับตัวควบคุมแบบ static ตัวควบคุมแบบคงไม่ต้องใช้ตัวระบุที่ไม่ซ้ำกันเนื่องจากพวกเขาส่งข้อความไม่มี WM_COMMAND.

เมื่อต้องการอนุญาตให้ผู้ใช้สามารถปิดกล่องโต้ตอบ แบบควรระบุปุ่มกดอย่างน้อย และให้รหัสควบคุม IDCANCEL เมื่อต้องการอนุญาตให้ผู้ใช้สามารถเลือกระหว่างการดำเนินการ หรือการยกเลิกคำสั่งที่เกี่ยวข้องกับกล่องโต้ตอบ แม่ควรระบุสองปุ่ม มีป้ายชื่อว่าตกลง และยก เลิก ด้วยตัวบ่งชี้ในการควบคุมของ IDOK และ IDCANCEL ตามลำดับ.

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