Nemo Napisano Sierpień 13, 2018 Autor Zgłoś Udostępnij Napisano Sierpień 13, 2018 Chyba źle przeczytałem lekcje lub źle ją zrozumiałem bo nie umię wstawić tekstu do innej kolumny niż pierwszej. Ja robie tak: LVITEM lvi; lvi.mask = LVIF_TEXT; lvi.iItem = index; lvi.iSubItem = column; lvi.pszText = text; lvi.cchTextMax = strlen(text); ListView_InsertItem(hListView, &lvi); Jeśli dobrze myśle to iSubItem to numer kolumny do której ma wstawić text a iItem to numer wiersza. Ale pewnie coś źle robie więc jak by ktoś mógł napisać w czym popełniłem błąd to byłoby super ;) Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Sierpień 13, 2018 Zgłoś Udostępnij Napisano Sierpień 13, 2018 Bo do nastepnej (lub jeszcze nastepnej) inaczej sie wstawia: ListView_SetItemText(UchwytLV,ktorywiersz,ktorakolumna,tekst) A wiec gdy wywolujesz dla pierwszej kolumny ListView_insertitem to dla tego wiersza i jego np. 3 kolumny musisz dodac ListView_SetItemText(hListView,0,3,pchar('Jakis tam tekst')); Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Jarema Napisano Sierpień 13, 2018 Zgłoś Udostępnij Napisano Sierpień 13, 2018 Dobrze masz wszystko. Nie potrzeba tak robic jak mowi Twardy. Tylko musisz pamietac o zwiekszaniu column jak chcerz do innej kolumny. A mozliwe ze blad popelniles w momencie kiedy dodawals kolumny. LV_COLUMN Column; Column.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM; Column.fmt = LVCFMT_LEFT; Column.cx = 101; Column.pszText = "Kolumna zerowa"; Column.iSubItem = 0; //ten numer to wlasnie numer kolumny ktory ja identyfukuje. Ten numer wpisujesz do iSubItem przy dodawaniu. LV_COLUMN Column; Column.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM; Column.fmt = LVCFMT_LEFT; Column.cx = 101; Column.pszText = "Kolumna pierwsza"; Column.iSubItem = 1; Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Nemo Napisano Sierpień 14, 2018 Autor Zgłoś Udostępnij Napisano Sierpień 14, 2018 Podpowiedz Twardego działa, a niestety mimo ze odp Niconaa jest sesnowna to nie działa :| albo znowu coś chrzanie Ale coś dalej nie gra - jak dodoaje pola to mi je sortuje malejąco, a mam tylko te znaczniki przy tworzenu ListView: LVS_AUTOARRANGE|LVS_REPORT|LVS_EX_FULLROWSELECT|LVS_SINGLESEL|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_GROUP Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Jarema Napisano Sierpień 14, 2018 Zgłoś Udostępnij Napisano Sierpień 14, 2018 Co do tego pierwszego to wprowadziłem Cię w błąd. Faktycznie nie używa się InsertItem, a ListView_SetItem(HWND hwnd, const LPLVITEM pitem); Tak masz trochę wygodniej, bo nie podajesz do makra odrazu danych, a definiujesz sonie poprostu LVITEM. A co do drugiego to może usuń ten LVS_AUTOARRANGE, bo jak sama nazwa wskazuje to sortuje ci ListView. A jak koniecznie chcesz sortowanie to możesz to ładanie zrobić po kliknięciu na sortheader. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Sierpień 14, 2018 Zgłoś Udostępnij Napisano Sierpień 14, 2018 W pierwszej podpowiedzi Nicona to chyba on nie kapnol sie o co ci dokladnie chodzi, bo podal strukture do doania nowej kolumny. a ListView_SetItem sluzy do zmiany czesci lub calych atrybutow etykiety. Nierozumie Nicona, czemu uwaza, zew to co napisalem to jest zle. Przecierz wlasnie to sluzy do tego czego szukasz. Jedno tylko makro i wszystko. A madrze sie tak bo wlasnie robie program wykorzystujacy listview ze stylem LVS_REPORT. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Jarema Napisano Sierpień 15, 2018 Zgłoś Udostępnij Napisano Sierpień 15, 2018 Rzeczywiscie w pierwszym poscie wprowadzilem go w blad. Ale drugi jest poprawny. Da sie tak zrobic, bo sam tak robie u siebie w programie. Nie mowie ze Twoja wypowiedz jest bledna. Jest jaknajbardziej poprawna, tylko wydaje mi sie, ze wygodnej jest przy wczytywaniu paru rzeczy na raz zdefiniowac poprostu strukture LVITEM, i wstawic ja do makra. A z tymi kolumnami to jaknajbardziej zrozumialem, tylko chcialem zwrocic uwage, ze jesli dodawal kolumny i pomylil te numerki ktore opisalem to nie bedzie mu dzialac wstawianie. Sorki Twardy jesli odebrales to jako krytyka , bo to wogole nie mialo tak zabrzmiec :) . Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.