if(subitem == 100)
// ... красим
условие в CustomDrawSubItem
void __fastcall TForm1::ListView1CustomDrawSubItem(TCustomListView *Sender,
TListItem *Item, int SubItem, TCustomDrawState State,
bool &DefaultDraw)
{
ListView1->Canvas->Font->Color=clRed;
}
как задать условие, чтобы красились только subitem, в которых значение, например, 100
void __fastcall TForm1::ListView1CustomDrawSubItem(TCustomListView *Sender,
TListItem *Item, int SubItem, TCustomDrawState State,
bool &DefaultDraw)
{
ListView1->Canvas->Font->Color=clRed;
}
как задать условие, чтобы красились только subitem, в которых значение, например, 100[/QUOTE]
Код:
так что-ли:) Не совсем прикол понял.
void __fastcall TForm1::ListView1CustomDrawSubItem(TCustomListView *Sender,
TListItem *Item, int SubItem, TCustomDrawState State,
bool &DefaultDraw)
{
if (SubItem>3)
{
if (ListView1->Items->Item[Item->Index]->SubItems->Strings[3]>IntToStr(100))
ListView1->Canvas->Font->Color=clRed;
}
}
только как узнать номер колонки, чтобы не в SubItems->Strings[3] значение проверять, а в той, что рисуется
void __fastcall TForm1::ListView1CustomDrawSubItem(TCustomListView *Sender,
TListItem *Item, int SubItem, TCustomDrawState State,
bool &DefaultDraw)
{
//начиная с четвёртого столбца в ListView
if (SubItem>3)
{
if (StrToInt(ListView1->Items->Item[Item->Index]->SubItems->Strings[SubItem-1])>100)
ListView1->Canvas->Font->Color=clRed;
}
}
void __fastcall TForm1::ListView1CustomDrawSubItem(TCustomListView *Sender,
TListItem *Item, int SubItem, TCustomDrawState State,
bool &DefaultDraw)
{
//начиная с четвёртого столбца в ListView
if (SubItem>3)
{
if (StrToInt(ListView1->Items->Item[Item->Index]->SubItems->Strings[SubItem-1])>100)
ListView1->Canvas->Font->Color=clRed;
else
ListView1->Canvas->Font->Color=clWhite;
}
}
почему не хочет после красного subitem делать белый, если значение в нём не >100&