Отклик на 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;

}