Bonjour,

J'ai un soucis lors du changement de police d'un DC. Et oui, en fait j'y arrive presque parfaitement à part quelques détails.
En fait quand je change de police grace à un combox, créé à partir de l'exemple Wordpad, je passe de l'"Arial" au "Times Roman" sans problème. Certaines autres polices de caractères fonctionnent.

Mais il existe un bon pourcentage de police qui ne s'affiche pas correctement. A la place, j'ai la police par défaut "Arial".

Voici le remplissage de la structure LOGFONT
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
	// Font name
if ( !m_sFontName.IsEmpty ( ) )
    strncpy ( lf.lfFaceName, m_sFontName, LF_FACESIZE );
 
// Font size
lf.lfWidth  = m_nFontSize;
lf.lfHeight = m_nFontSize;
 
 
// Gras
if ( m_bIsBold )
    lf.lfWeight=FW_BOLD;
else
    lf.lfWeight=FW_NORMAL;
 
 
// Italic
lf.lfItalic = m_bIsItalic;
 
 
// Underline
lf.lfUnderline = m_bIsUnderline;
 
m_oFont.DeleteObject();  
VERIFY ( m_oFont.CreateFontIndirect(&lf) );
Dans m_sFontName, j'ai le nom récupéré dans le combo.

Personnellement, je ne comprend pas, car même le "CreateFontIndirect" ne me dit rien. Je suis un peu perdu.

Merci d'avance