BOOL CreateFont ( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, ไบต์ bItalic, ไบต์ bUnderline, ไบต์ cStrikeOut, ไบต์ nCharSet, ไบต์ nOutPrecision, ไบต์ nClipPrecision, ไบต์ nQuality, ไบต์ nPitchAndFamily, LPCTSTR lpszFacename );
ส่งกลับค่า
ไม่ใช่ศูนย์ถ้าสำเร็จ 0 อื่น?
พารามิเตอร์
nHeight
ระบุความสูงที่ต้องการ (ในหน่วยทางลอจิคัล) ของแบบอักษร สามารถระบุความสูงของแบบอักษรในวิธีการต่อไปนี้:
ค่าสัมบูรณ์ของnHeightต้องไม่เกินหน่วยอุปกรณ์ 16384 หลังจากนั้นจะถูกแปลง สำหรับการเปรียบเทียบความสูงทั้งหมด mapper แบบอักษรการค้นหาแบบอักษรที่ใหญ่ที่สุดที่ไม่เกินขนาดที่ร้องขอหรือแบบอักษรเล็กที่สุดถ้าแบบอักษรทั้งหมดเกินขนาดที่ร้องขอ?
nWidth
ระบุความกว้างเฉลี่ย (ในหน่วยทางลอจิคัล) ของอักขระในแบบอักษร ถ้าnWidth 0 อัตราส่วนกว้างยาวของอุปกรณ์จะถูกเปรียบเทียบอัตราส่วนกว้างยาว digitization ของแบบอักษรพร้อมใช้งานเมื่อต้องการค้นหาใกล้เคียง ซึ่งถูกกำหนด โดยค่าสัมบูรณ์ของความแตกต่าง?
nEscapement
ระบุมุม (ในหน่วย 0.1 องศา) ระหว่างเวกเตอร์ escapement และแกน x ของพื้นผิวแสดงผล เวกเตอร์ escapement บรรทัดที่ผ่านการกำเนิดของอักขระตัวแรก และล่าสุดบนบรรทัดได้ วัดมุมทวนเข็มนาฬิกาจากแกน x?
nOrientation
ระบุมุม (ในหน่วย 0.1 องศา) ระหว่างปกติของอักขระและแกน x วัดมุมทวนเข็มนาฬิกาจากแกน x สำหรับระบบพิกัด y-ทิศทางถูกลง และหมุนตามเข็มนาฬิกาจากแกน x สำหรับระบบพิกัด y-ทิศทางจะขึ้น?
nWeight
ระบุน้ำหนักแบบอักษร (เป็นพิกเซลผ้าต่อ 1000) แม้ว่าnWeightจะเป็นค่าจำนวนเต็มใด ๆ ตั้งแต่ 0 ไป 1000 ค่าคงและค่าทั่วไปมีดังนี้:
| คง | ค่า |
| FW_DONTCARE | 0 |
| FW_THIN | 100 |
| FW_EXTRALIGHT | 200 |
| FW_ULTRALIGHT | 200 |
| FW_LIGHT | 300 |
| FW_NORMAL | 400 |
| FW_REGULAR | 400 |
| FW_MEDIUM | 500 |
| FW_SEMIBOLD | 600 |
| FW_DEMIBOLD | 600 |
| FW_BOLD | 700 |
| FW_EXTRABOLD | 800 |
| FW_ULTRABOLD | 800 |
| FW_BLACK | 900 |
| FW_HEAVY | 900 |
ค่าเหล่านี้เป็นค่าโดยประมาณ ลักษณะที่ปรากฏที่แท้จริงขึ้นอยู่กับแบบอักษร แบบอักษรบางแบบมีเพียงFW_NORMAL, FW_REGULARและFW_BOLDน้ำหนัก ถ้ามีระบุFW_DONTCAREน้ำหนักการเริ่มต้นใช้?
bItalic
ระบุว่า แบบอักษรตัวเอียง?
bUnderline
ระบุว่า แบบอักษรถูกขีดเส้นใต้?
cStrikeOut
ระบุว่า อักขระในแบบอักษรถูกขีดออก ระบุแบบอักษรขีดทับถ้าตั้งค่าเป็นไม่ใช่ศูนย์?
nCharSet
ระบุชุดอักขระแบบอักษร กำหนดค่าคงและค่าต่อไปนี้ไว้ล่วงหน้า:
| คง | ค่า |
| ANSI_CHARSET | 0 |
| DEFAULT_CHARSET | 1 |
| SYMBOL_CHARSET | 2 |
| SHIFTJIS_CHARSET | 128 |
| OEM_CHARSET | 255 |
OEM ชุดอักขระจะขึ้นอยู่กับระบบ?
แบบอักษร ด้วยชุดอักขระอื่น ๆ อาจมีอยู่ในระบบ โปรแกรมประยุกต์ที่ใช้แบบอักษร ด้วยชุดอักขระที่ไม่รู้จักการต้องไม่พยายามแปล หรือตีความสายอักขระที่มีการแสดงผล ด้วยแบบอักษรที่ แทน สายอักขระควรถูกส่งผ่านไปยังโปรแกรมควบคุมอุปกรณ์แสดงผล?
Mapper แบบอักษรที่ไม่ได้ใช้ค่าDEFAULT_CHARSET แอปพลิเคชันสามารถใช้ค่านี้เพื่ออนุญาตให้ชื่อและขนาดของแบบอักษรเพื่ออธิบายอย่างเต็มรูปแบบแบบอักษรแบบลอจิคัล ถ้าไม่มีแบบอักษรที่ มีชื่อที่ระบุ แบบอักษรจากชุดอักขระใด ๆ สามารถนำมาใช้แทนแบบอักษรที่ระบุ เพื่อหลีกเลี่ยงผลลัพธ์ที่ไม่คาดคิด แอปพลิเคชันควรใช้ค่าDEFAULT_CHARSETอย่างจำกัด?
nOutPrecision
ระบุความแม่นยำของผลลัพธ์ที่ต้องการ ความแม่นยำของผลลัพธ์กำหนดว่าใกล้เคียงต้องกับผลลัพธ์ของแบบอักษรที่ร้องขอความสูง ความกว้าง วางอักขระ escapement และระยะห่าง สามารถเป็นหนึ่งในค่าต่อไปนี้:
| OUT_CHARACTER_PRECIS | OUT_STRING_PRECIS |
| OUT_DEFAULT_PRECIS | OUT_STROKE_PRECIS |
| OUT_DEVICE_PRECIS | OUT_TT_PRECIS |
| OUT_RASTER_PRECIS |
โปรแกรมประยุกต์ที่สามารถใช้ค่าOUT_DEVICE_PRECIS, OUT_RASTER_PRECISและOUT_TT_PRECISเพื่อควบคุมวิธีการที่ mapper แบบอักษรที่เลือกแบบอักษรเมื่อระบบประกอบด้วยแบบอักษรมากกว่าหนึ่ง โดยใช้ชื่อจริง ตัวอย่างเช่น ถ้าในระบบประกอบด้วยแบบอักษรที่ชื่อสัญลักษณ์ในราสเตอร์และแบบฟอร์ม TrueType ระบุOUT_TT_PRECISบังคับ mapper แบบอักษรที่เลือกรุ่น TrueType (ระบุOUT_TT_PRECISบังคับ mapper ที่แบบอักษรให้เลือกแบบเมื่อใดก็ ตามที่ชื่อแบบอักษรที่ระบุตรงกันกับอุปกรณ์แบบอักษร TrueType หรือแบบอักษรแบบ raster แม้ว่าจะไม่มีแบบอักษร TrueType มีชื่อเดียวกัน)
nClipPrecision
ระบุความแม่นยำของรูปวาดที่ต้องการ ความแม่นยำของรูปวาดกำหนดวิธีการคลิปอักขระที่อยู่นอกขอบเขตของรูปวาดบางส่วน สามารถเป็นหนึ่งในค่าต่อไปนี้:
| CLIP_CHARACTER_PRECIS | CLIP_MASK |
| CLIP_DEFAULT_PRECIS | CLIP_STROKE_PRECIS |
| CLIP_ENCAPSULATE | CLIP_TT_ALWAYS |
| CLIP_LH_ANGLES |
เมื่อต้องใช้แบบอักษรแบบอ่านอย่างเดียวที่ฝังตัว แอปพลิเคชันต้องระบุCLIP_ENCAPSULATE?
เพื่อให้บรรลุการหมุนที่สอดคล้องกันของอุปกรณ์ TrueType และแบบอักษรของเวกเตอร์ แอปพลิเคชันสามารถใช้ตัวดำเนินการหรือเพื่อรวมค่าCLIP_LH_ANGLESกับnClipPrecisionค่าอื่นใดก็ได้ ถ้าตั้งค่าบิตการCLIP_LH_ANGLESหมุนสำหรับแบบอักษรทั้งหมดขึ้นกับว่าการวางแนวของระบบพิกัดไม่ถนัดซ้าย หรือถนัดมือขวา (หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการวางแนวของระบบพิกัด ดูคำอธิบายของพารามิเตอร์nOrientation ) ถ้าไม่มีการตั้งค่าCLIP_LH_ANGLESอุปกรณ์แบบอักษรเสมอหมุนทวนเข็มนาฬิกา แต่หมุนของแบบอักษรอื่น ๆ จะขึ้นอยู่กับการวางแนวของระบบพิกัด?
nQuality
ระบุแบบอักษรของผลผลิตคุณภาพ ซึ่งกำหนดวิธีอย่างระมัดระวัง GDI ต้องพยายามให้ตรงกับคุณลักษณะตรรกะแบบอักษรไปยังของแบบอักษรที่มีอยู่จริงจริง สามารถเป็นหนึ่งในค่าต่อไปนี้:
nPitchAndFamily
ระบุระยะห่างและครอบครัวของแบบอักษร บิตต่ำลำดับสองระยะห่างของแบบอักษรที่ระบุ และเป็นหนึ่งในค่าต่อไปนี้:
| DEFAULT_PITCH | VARIABLE_PITCH | FIXED_PITCH |
โปรแกรมประยุกต์ที่สามารถเพิ่มTMPF_TRUETYPE nPitchAndFamilyพารามิเตอร์ให้เลือกแบบอักษร TrueType บิตสูงลำดับสี่ของพารามิเตอร์ระบุแบบอักษรตระกูล และสามารถเป็นหนึ่งในค่าต่อไปนี้:
แอปพลิเคชันสามารถระบุค่าสำหรับnPitchAndFamilyโดยใช้ตัวดำเนินการแบบบูลีหรือจะรวมค่าคงระยะห่างกับค่าคงครอบครัว?
แบบอักษรตระกูลอธิบายลักษณะของแบบอักษรในลักษณะทั่วไป พวกเขามีวัตถุประสงค์สำหรับการระบุแบบอักษรเมื่อไม่มีแบบอักษรแน่นอนที่ต้องการ?
lpszFacename
CStringหรือตัวชี้เป็นสตริงที่สิ้นสุดด้วยค่า null ที่ระบุชื่อแบบอักษรของแบบอักษร ความยาวของสายอักขระนี้ต้องไม่เกิน 30 อักขระ ฟังก์ชัน Windows EnumFontFamiliesสามารถใช้ระบุแบบอักษรทั้งหมดที่มีอยู่ในปัจจุบัน ถ้าlpszFacenameเป็นNULL, GDI ใช้แบบอักษรไม่ขึ้นกับอุปกรณ์?
หมายเหตุ
เริ่มต้นวัตถุCFontที่ มีลักษณะที่ระบุ ในภายหลังคุณสามารถเลือกแบบอักษรเป็นแบบอักษรสำหรับบริบทอุปกรณ์ใด ๆ?
ฟังก์ชันCreateFontสร้างแบบอักษร Windows GDI ใหม่ มันแค่เลือกใกล้เคียงจากแบบอักษรพร้อมใช้งานในสระว่ายน้ำของ GDI ของแบบอักษรที่มีอยู่จริง?
โปรแกรมประยุกต์ที่สามารถใช้การตั้งค่าเริ่มต้นสำหรับพารามิเตอร์เหล่านี้ส่วนใหญ่เมื่อสร้างแบบอักษรแบบลอจิคัล พารามิเตอร์ที่ควรจะได้รับเฉพาะค่าnHeightและlpszFacename ถ้าnHeightและlpszFacenameไม่มีกำหนด โดยโปรแกรมประยุกต์ ตรรกะแบบอักษรที่สร้างขึ้นจะขึ้นอยู่กับอุปกรณ์?
เมื่อคุณเสร็จสิ้นการ ด้วยวัตถุCFontสร้างขึ้น โดยฟังก์ชันCreateFontแรกเลือกแบบอักษรจากบริบทอุปกรณ์ แล้วลบวัตถุCFont?
ภาพรวม CFont |nbsp สมาชิกของคลาส| แผนภูมิของลำดับชั้น(&N)
ดูเพิ่มเติมnbspCFont::CreateFontIndirect, CFont::CreatePointFont, :: CreateFont, :: EnumFontFamilies, :: EnumFonts(&N)