BOOLCreateFont (intnHauteur,intnWidth,intnEscapement,intnOrientation,intnWeight,BYTEbItalic,octetbUnderline,octetscStrikeOut,octetsnCharSet,octets,nOutPrecision,octetsnClipPrecision,octetsnQuality,octetsnPitchAndFamily,LPCTSTRlpszFacename);
Valeur de retour
Différent de zéro en cas de succès ; sinon 0.
Paramètres
nHauteur
Spécifie la hauteur désirée (en unités logiques) de la police. La hauteur de la police peut être spécifiée dans l'une des manières suivantes:
La valeur absolue de nHauteur ne doit pas dépasser 16 384 unités de dispositif après que elle est convertie. Pour toutes les comparaisons de hauteur, le mappeur de polices ressemble à la police plus grande qui ne dépasse pas la taille demandée ou la plus petite si toutes les polices dépassent la taille demandée.
nLargeur
Spécifie la largeur moyenne (en unités logiques), des caractères de la police. Si nLargeur est 0, les proportions de l'appareil seront abondées contre le rapport d'aspect de la numérisation des polices disponibles pour trouver le match le plus proche, qui est déterminé par la valeur absolue de la différence.
nEscapement
Spécifie l'angle (en degrés 0,1 unités) entre le vecteur de l'échappement et l'axe des abscisses de la surface d'affichage. Le vecteur de l'échappée est la ligne passant par les origines des premier et dernier caractères sur une ligne. L'angle est mesurée dans l'axe des abscisses.
nOrientation
Spécifie l'angle (en degrés 0,1 unités) entre la ligne de base d'un personnage et l'axe des abscisses. L'angle est mesurée dans l'axe des x pour des systèmes de coordonnées dans lequel la direction y est bas et dans le sens horaire de l'axe des x pour des systèmes de coordonnées dans lequel la direction y est.
nWeight
Spécifie le poids de police (en pixels encrées pour 1000). Bien que nWeight peut être n'importe quelle valeur de nombre entier de 0 à 1000, les constantes et les valeurs communes sont les suivantes:
| Constante | Valeur |
| FW_DONTCARE | 0 |
| FW_THIN | 100 |
| FW_EXTRALIGHT | 200 |
| FW_ULTRALIGHT | 200 |
| FW_LIGHT | 300 |
| FW_NORMAL | 400 |
| FW_REGULAR | 10U |
| FW_MEDIUM | 500 |
| FW_SEMIBOLD | 600 |
| FW_DEMIBOLD | 600 |
| FW_BOLD | 700 |
| FW_EXTRABOLD | 800 |
| FW_ULTRABOLD | 800 |
| FW_BLACK | 900 |
| FW_HEAVY | 900 |
Ces valeurs sont approximatives ; l'apparence réelle dépend de la police de caractères. Certaines polices ont seulement des poids FW_BOLD , FW_REGULARet FW_NORMAL. Si FW_DONTCARE est spécifié, un poids par défaut est utilisé.
bItalic
Spécifie si la police est en italique.
bUnderline
Spécifie si la police est soulignée.
cStrikeOut
Spécifie si les caractères de la police sont radiés. Spécifie une police barré, si une valeur différente de zéro.
nCharSet
Spécifie le jeu de caractères de la police. Les constantes et les valeurs suivantes sont prédéfinis.:
| Constante | Valeur |
| ANSI_CHARSET | 0 |
| DEFAULT_CHARSET | 1 |
| SYMBOL_CHARSET | 2 |
| SHIFTJIS_CHARSET | 128 |
| OEM_CHARSET | 255 |
Le jeu de caractères OEM est dépendante du système.
Polices de caractères avec les autres jeux de caractères peuvent exister dans le système. Une application qui utilise une police avec un jeu de caractères inconnus ne doit pas tenter de traduire ou interpréter les chaînes qui doivent être rendues avec cette police. Au lieu de cela, les chaînes doivent être passés directement sur le pilote de périphérique de sortie.
Le mappeur de polices n'utilise pas la valeur DEFAULT_CHARSET . Une application peut utiliser cette valeur pour permettre le nom et la taille d'une police de décrire pleinement la police logique. Si une police avec le nom spécifié n'existe pas, une police de n'importe quel jeu de caractères peut être remplacée par la police spécifiée. Afin d'éviter des résultats inattendus, les applications doivent utiliser la valeur DEFAULT_CHARSET avec parcimonie.
nOutPrecision
Spécifie la précision de sortie désirée. La précision de sortie définit comment étroitement la sortie doit correspondre à de la police demandée hauteur, largeur, orientation de caractère, échappées et poix. Il peut être l'une des valeurs suivantes:
| OUT_CHARACTER_PRECIS | OUT_STRING_PRECIS |
| OUT_DEFAULT_PRECIS | OUT_STROKE_PRECIS |
| OUT_DEVICE_PRECIS | OUT_TT_PRECIS |
| OUT_RASTER_PRECIS |
Applications peuvent utiliser les valeurs OUT_DEVICE_PRECIS, OUT_RASTER_PRECISet OUT_TT_PRECIS pour contrôler comment le mappeur de polices choisit une police quand le système contient plus d'une police avec un nom donné. Par exemple, si un système contient une police nommée symbole raster et TrueType, spécifiant OUT_TT_PRECIS forces le mappeur de polices pour choisir la version TrueType. (Spécification OUT_TT_PRECIS forces le mappeur de polices pour choisir une police TrueType chaque fois que le nom de la police spécifiée correspond à un dispositif ou raster, même lorsqu'il n'y a aucune police TrueType de même nom).
nClipPrecision
Spécifie la précision de coupure désirée. La précision de découpage définit comment les caractères qui sont partiellement à l'extérieur de la zone de découpage de clip. Il peut être l'une des valeurs suivantes:
| CLIP_CHARACTER_PRECIS | CLIP_MASK |
| CLIP_DEFAULT_PRECIS | CLIP_STROKE_PRECIS |
| CLIP_ENCAPSULATE | CLIP_TT_ALWAYS |
| CLIP_LH_ANGLES |
Pour utiliser une police incorporée en lecture seule, une application doit spécifier CLIP_ENCAPSULATE.
Pour atteindre la rotation uniforme de dispositif et les polices vectorielles TrueType, une application peut utiliser l'opérateur OR pour combiner la valeur CLIP_LH_ANGLES avec toutes les autres valeurs de nClipPrecision . Si le bit CLIP_LH_ANGLES est défini, la rotation de toutes les polices dépend de la question de savoir si l'orientation du système de coordonnées est gauche ou droitier. (Pour plus d'informations sur l'orientation des systèmes de coordonnées, voir la description du paramètre de nOrientation .) Si CLIP_LH_ANGLES n'est pas définie, les polices de périphérique toujours rotation antihoraire, mais la rotation des autres polices dépend de l'orientation du repère.
nQuality
Spécifie la qualité de sortie de la police, qui définit comment soigneusement le GDI doit tenter de correspondre les attributs de police logique à ceux d'une police physique réelle. Il peut être l'une des valeurs suivantes:
nPitchAndFamily
Spécifie la hauteur et la famille de la police. Les bits d'ordre peu élevé deux spécifier la hauteur de la police et peuvent être l'une des valeurs suivantes:
| DEFAULT_PITCH | VARIABLE_PITCH | FIXED_PITCH |
Les applications peuvent ajouter des TMPF_TRUETYPE pour le paramètre nPitchAndFamily de choisir une police TrueType. Les quatre bits d'ordre élevé du paramètre spécifier la famille de police et peuvent être l'une des valeurs suivantes:
Une application peut spécifier une valeur pour nPitchAndFamily à l'aide de l'opérateur booléen ou à se joindre à une constante de poix avec une constante de la famille.
Familles de polices décrivent l'aspect d'une police d'une manière générale. Ils sont destinés pour spécifier des polices lorsque la police de caractères exacte souhaitée n'est pas disponible.
lpszFacename
CString ou un pointeur vers une chaîne terminée par null qui spécifie le nom de la police de caractères de la police. La longueur de cette chaîne ne doit pas dépasser 30 caractères. La fonction de Windows EnumFontFamilies peut être utilisée pour énumérer toutes les polices disponibles actuellement. Si lpszFacename est NULL, le GDI utilise une police de caractères indépendants du périphérique.
Remarques
Initialise un objet CFont ayant les caractéristiques spécifiées. La police a par la suite peut être sélectionnée comme police de n'importe quel contexte de périphérique.
La fonction CreateFont ne crée pas une nouvelle police Windows GDI. Il choisit simplement le match le plus proche des polices disponibles dans le pool de la GDI de polices physiques.
Les applications peuvent utiliser les paramètres par défaut pour la plupart de ces paramètres lors de la création d'une police logique. Les paramètres qu'il faut toujours des valeurs spécifiques sont nHauteur et lpszFacename. Si nHauteur et lpszFacename ne sont pas définies par l'application, la police logique qui est créée est dépendante du périphérique.
Lorsque vous avez terminé avec l'objet CFont créé par la fonction CreateFont , tout d'abord sélectionner la police du contexte de périphérique, puis supprimer l'objet CFont.
CFont aperçu |nbsp ; Membres de la classe | Graphique de la hiérarchie
Voir aussinbsp ;CFont::CreateFontIndirect, CFont::CreatePointFont à la place, :: CreateFont, :: EnumFontFamilies, :: EnumFonts