Bonjour,

J'ai un TListView sur une form. Je dessine des carrés en couleur devant le caption. Jusque le pas de problème le caption et le carré sont ok.
Par contre tous les SubItems sont en caractères gras.
Voici le code que j'utilise:
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
 
void __fastcall TFrm_Task::ListView_EventCustomDrawSubItem(
	  TCustomListView *Sender, TListItem *Item, int SubItem,
	  TCustomDrawState State, bool &DefaultDraw)
{
	 ListView_Event->Canvas->Font->Style =  TFontStyles();
	 ListView_Event->Canvas->Font->Size=8;
              TColor Color = 'ici ma couleur';
	 TRect Rect = pItem->DisplayRect(drIcon);
	 Rect.left++;
	 Rect.Right=19;
	 Rect.Top++;
	 Rect.Bottom--;
	 ListView_Event->Canvas->Brush->Color = Color;
	 ListView_Event->Canvas->FillRect(Rect);
              ListView_Event->Canvas->Brush->Color = clBlack;
	 ListView_Event->Canvas->FrameRect(Rect);
	 ListView_Event->Canvas->Brush->Color = clWhite;
 
	 DefaultDraw=true;
}
Si je supprime du code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
ListView_Event->Canvas->FillRect(Rect);
ou
ListView_Event->Canvas->FrameRect(Rect);
alors les subitems redeviennent normaux.


J'ai même essayé de rajouter cette ligne de code, mais c'est idem.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
ListView_Event->Canvas->Font->Style = TFontStyles();
Ma question : Pourquoi le FillRect et FrameRect change le style de ma font ?
Y-a-t-il une solution pour remettre le style de la font des subItems en Normal ?

Merci