GetDialogBaseUnits

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

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

ยาว GetDialogBaseUnits(VOID) 

พารามิเตอร์

ฟังก์ชันนี้ได้ไม่มีพารามิเตอร์.

ส่งกลับค่า

ค่าส่งกลับค่า 32 บิตที่ประกอบด้วยหน่วยพื้นฐานโต้ตอบได้ คำต่ำลำดับของค่าส่งกลับประกอบด้วยหน่วยพื้นฐานของกล่องโต้ตอบแนวนอน และคำสูงใบสั่งประกอบด้วยหน่วยพื้นฐานของกล่องโต้ตอบแนวตั้ง.

หมายเหตุ

หน่วยพื้นฐานแนวนอนที่ส่งกลับโดยGetDialogBaseUnitsเท่ากับความกว้างเฉลี่ย พิกเซล ของอักขระในแบบอักษรระบบ หน่วยพื้นฐานแนวตั้งเท่ากับความสูง พิกเซล ของแบบอักษร.

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

แต่ละหน่วยพื้นฐานแนวนอนจะเท่ากับหน่วยของการโต้ตอบที่นอนแม่แบบที่ 4 แต่ละหน่วยพื้นฐานแนวตั้งเท่ากับหน่วยต้นแบบการโต้ตอบแนวตั้ง 8 ดังนั้น การแปลงหน่วยต้นแบบการโต้ตอบที่พิกเซล ใช้สูตรต่อไปนี้:

pixelX = (templateunitX * baseunitX) / 4 pixelY = (templateunitY * baseunitY) / 8 

 

ในทำนองเดียวกัน การแปลงจากพิกเซลเป็นหน่วยต้นแบบการโต้ตอบ ใช้สูตรต่อไปนี้:

templateunitX = (pixelX * 4) / baseunitX templateunitY = (pixelY * 8) / baseunitY 

 

การคูณจะดำเนินก่อนส่วนเพื่อหลีกเลี่ยงปัญหาการปัดเศษถ้าหน่วยพื้นฐานไม่สามารถหารได้ โดย 4 หรือ 8.

Windows CE: Windows CE ไม่สนับสนุนค่าข้อผิดพลาดเพิ่มเติมใด ๆ สำหรับฟังก์ชันนี้.

QuickInfo

nbsp Windows &NT:ต้องการเวอร์ชัน 3.1 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 95 หรือรุ่นที่ใหม่กว่า
Windows CE:ต้องการเวอร์ชัน 1.0 หรือรุ่นใหม่กว่า
หัวข้อ:ประกาศใน winuser.h
ไลบรารีที่นำเข้า:ใช้ user32.lib.

ดูเพิ่มเติม

ภาพรวมของกล่องโต้ตอบฟังก์ชันของกล่องโต้ตอบ MapDialogRect

Index