Style de la font qui change avec FillRect et FrameRect dans un TListView
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:
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:
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:
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