Bonjour,
je suis sous W2000, j'utilise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
	CStatic* pStatic = (CStatic*)GetDlgItem(IDC_STATIC_1);
 
	CFont* pFont1 = pStatic->GetFont();
	pFont1->GetLogFont(&LogFont); 
 
	LogFont.lfWeight = FW_BOLD;
	LogFont.lfHeight = 24;
 
	CFont pFont; 
	pFont.CreateFontIndirect(&LogFont); 
	pStatic->SetFont(&pFont);
pour changer la fonte d'un static, mais cela ne marche pas : seul le gras est fait !

J'ai également essayé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
CFont font;
 
font.CreateFont (24, 0, 0, 0, FW_BOLD, 0, 0, 0,
    DEFAULT_CHARSET, OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS,
    DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, _T ("Arial"));
 
	GetDlgItem(IDC_STATIC_1)->SetFont(&font);
mais ça ne marche pas non plus !!

La seule chose qui marche est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
CFont* pFont = new CFont;
 
    pFont->CreateFont (24, 0, 0, 0, FW_BOLD, 0, 0, 0,
    DEFAULT_CHARSET, OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS,
    DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, _T ("Arial"));
 
	GetDlgItem(IDC_STATIC_1)->SetFont(pFont);
Le problème c'est que je me retrouve avec une allocation que je ne libère pas, car si je fais un

cela ne marche pas non plus !!!