Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

условие в CustomDrawSubItem

9.0K
25 июля 2006 года
j_anna
45 / / 10.07.2006
такой код красит в красный subitem

void __fastcall TForm1::ListView1CustomDrawSubItem(TCustomListView *Sender,
TListItem *Item, int SubItem, TCustomDrawState State,
bool &DefaultDraw)
{
ListView1->Canvas->Font->Color=clRed;
}

как задать условие, чтобы красились только subitem, в которых значение, например, 100
246
25 июля 2006 года
GIZMO
1.8K / / 30.07.2004
[QUOTE=j_anna]такой код красит в красный subitem

void __fastcall TForm1::ListView1CustomDrawSubItem(TCustomListView *Sender,
TListItem *Item, int SubItem, TCustomDrawState State,
bool &DefaultDraw)
{
ListView1->Canvas->Font->Color=clRed;
}

как задать условие, чтобы красились только subitem, в которых значение, например, 100[/QUOTE]
 
Код:
if(subitem == 100)
    // ... красим

так что-ли:) Не совсем прикол понял.
9.0K
25 июля 2006 года
j_anna
45 / / 10.07.2006
нет, вот так

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] значение проверять, а в той, что рисуется
9.0K
25 июля 2006 года
j_anna
45 / / 10.07.2006
вот такой код позволяет менять цвет в SubItem по условию, что значение в нём, например >100

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;
}
}
9.0K
28 июля 2006 года
j_anna
45 / / 10.07.2006
верну тему, потому что хочется, чтобы раскрасска subitem была по двум условиям, а не работает...

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&
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог