Bonjour,
Pour choisir ma police et ma couleur d’écriture dans un contrôle list, j’utilise la séquence suivante :
La police que j’ai sélectionnée (Arial,15,gras) est bien utilisée par Windows pour écrire dans le LISTBOX, par contre j’écris toujours en noir alors que la couleur choisie est bleue, il semblerait que la fonction:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 clectrlist=GetDlgItem(Hdlg1, IDC_buf); hdc=GetDC(clectrlist); ZeroMemory(&lf, sizeof(LOGFONT)); lstrcpy(lf.lfFaceName,"Arial"); lf.lfHeight = 15; lf.lfItalic = false; lf.lfWeight = FW_BOLD; NewFont = CreateFontIndirect(&lf); OldFont = SelectObject(hdc,(HGDIOBJ)NewFont); SetTextColor(hdc, 0x0000FF); // couleur bleue SendMessage(clectrlist, WM_SETFONT, (WPARAM)NewFont, (LPARAM)0); // initialisation du LISTBOX for(i=0; i<TTABKEYS; i++) SendMessage(clectrlist, LB_ADDSTRING, (WPARAM)0, (LPARAM)(LPTSTR)TABKEYS[i]);qui marche dans le cas d’un TextOut soit inefficace dans le cas présent. Faut-il utiliser une autre fonction que SetTextColor ? Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part SetTextColor(hdc, 0x0000FF);
Partager