Kontrolka ListView dostarcza przyjazny interfejs do wprowadzania pozycji w fazie projektowania. Jednakże będziesz zwykle potrzebował wypełniać ListView opierając się na informacji podczas pracy programu. Poniższy fragment kodu pokazuje jak stworzyć pozycje (Item) i sub-pozycje (Subitem) przy pomocy kodu. Na formie umieść kontrolkę ListView1, ustaw ViewStyle na vsReport, dodaj trzy kolumny, ewentualnie ImageList i skojarz ją z ListView1 (właściwości SmallImages i LargeImages).
int NumEntries = 20; TListItem *NewEntry; ListView1->Items->BeginUpdate(); ListView1->Items->Clear(); for (int j=0; j < NumEntries; j++) { NewEntry = ListView1->Items->Add(); NewEntry->Caption = "Item " + IntToStr(j); NewEntry->SubItems->Add("column 2"); NewEntry->SubItems->Add("column 3"); //NewEntry->ImageIndex = j; // wymaga ImageList } ListView1->Items->EndUpdate();Uwaga: Funkcja BeginUpdate zapobiega migotaniu kontrolki ListView podczas dodawania pozycji. Zarówno TListBox, jak i TListView zapewniają tą funkcję, żebyś mógł opanować migotanie podczas manipulowania zawartością kontrolek. EndUpdate wysyła sygnał, że skończyłeś zmianę zawartości i kontrolka powinna teraz "przemalować się". Uwaga: Wskaźnik do TListItem otrzymujesz wywołując funkcję Add, a nie bespośrednio poprzez operator new. Uwaga: Charakter nowej pozycji zmieniasz dopiero po wywołaniu funkcji Add. Uwaga: Łańcuch Caption pojawia się zawsze przy ikonce pozycji, bez względu na ustawienie właściwości ViewStyle. Sub-pozycja pojawia się w oddzielnej kolumnie, kiedy ViewStyle ustawiony jest na vsReport. W innych trybach sub-pozycje są niewidoczne. |