Отклик на mouseup в случае выбора элемента не в первой колонке
(SubItem)
private: System::Void listView1_MouseUp(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e)
{
// метод HitTest – по координатам позвояет определить клетку
ListViewHitTestInfo ^ ht = listView1->HitTest(e->X,e->Y);
Row=ht->Item->Index;
Col=ht->Item->SubItems->IndexOf(ht->SubItem);
listView1->Items[Row]->UseItemStyleForSubItems = false; // отменить стиль SubItems
if(Col>0)
{
listView1->Items[Row]->SubItems[Col]->BackColor
=Color::FromArgb(0,150,255); // установка цвета выбранной клетки вручную
listView1->Items[Row]->SubItems[Col]->ForeColor
=Color::FromArgb(255,255,255);
}
if(OldRow>=0 && OldCol>0)
{
listView1->Items[OldRow]->SubItems[OldCol]->BackColor
=Color::FromArgb(255,255,255); // восстановление цветов
listView1->Items[OldRow]->SubItems[OldCol]->ForeColor
=Color::FromArgb(0,0,0);
}
OldRow=Row;
OldCol=Col;
}