ListView i LVM_DELETEITEM

dział ogólny

Re: ListView i LVM_DELETEITEM

Nowy postprzez Witold » Å›roda, 6 stycznia 2010, 13:42

Cyfrowy Baron napisał(a):
Pisałem o ListView w stylu vsIcon lub vsSmallIcon, wtedy też usuwa dwa elementy (u mnie, BCB6).


U mnie usuwa jeden C++Builder 2007.



Co do komunikatu LVM_DELETEITEM to z informacji jakie uzyskałem w sieci wynika, że ten komunikat również usuwa jeden element, tak jest też to opisane w pomocy do BCB, ale podobno występuje błąd, który sprawia, że ten komunikat wywołuje wewnętrzna funkcję ListView->Items->Delete(x) co powoduje ponowne usunięcie wiersza. O tym, że obsługa komunikatów w odniesieniu do tego obiektu kuleje może świadczyć fakt, że u ciebie odświeżanie nie działa prawidłowo i że u mnie przy stylu vsIcon lub vsSmallIcon usuwa jeden element a u ciebie 2.


Możesz podać gdzie przeczytałeś o LVM_DELETEITEM i ListView->Items->Delete(x) ?
sprawdziłem na C++Builder 2007 + update:
Kod: Zaznacz cały
void __fastcall TForm5::btn1Click(TObject *Sender)
{
  mmoLog->Lines->Add("przed ListView ma elementów:" + IntToStr(ListView1->Items->Count));
  SendMessage(ListView1->Handle, LVM_DELETEITEM, 1, 0);
  mmoLog->Lines->Add("po ListView ma elementów:" + IntToStr(ListView1->Items->Count));

  mmoLog->Lines->Add("ListView1->ViewStyle=" + IntToStr(int(ListView1->ViewStyle)));

  //enum TViewStyle { vsIcon, vsSmallIcon, vsList, vsReport }; //
  //__property TViewStyle ViewStyle = {read=FViewStyle, write=SetViewStyle, default=0};

}


ViewStyle dla vsSmallIcon to 1. Jak pisałem element 2 jest widoczny, do LV->Refresh() lub odświeżenia okna z innego powodu. A ListView1->Items->Count nie pozostawia wątpliwości ile elementów ma ListView.


zwykle ciebie piszesz z dużej litery...
Nie masz wystarczających uprawnień, aby zobaczyć pliki załączone do tego postu.
Ostatnio edytowano środa, 6 stycznia 2010, 16:17 przez Witold, łącznie edytowano 1 raz
Avatar użytkownika
Witold
Konstrukcjonista
Konstrukcjonista
 
Posty: 223
Dołączył(a): piątek, 29 sierpnia 2008, 10:53
PodziÄ™kowaÅ‚ : 1
OtrzymaÅ‚ podziÄ™kowaÅ„: 14
Kompilator: bcb6, Turbo C++ Explorer
    NieznanyNieznana

Re: ListView i LVM_DELETEITEM

Nowy postprzez Cyfrowy Baron » Å›roda, 6 stycznia 2010, 14:54

Możesz podać gdzie przeczytałeś o LVM_DELETEITEM i ListView->Items->Delete(x) ?


Nie mogę! Przeszukiwałem sieć i przeczytałem to na jakimś zagranicznym forum.

ViewStyle dla vsSmallIcon to 1. Jak pisałem element 2 jest widoczny, do LV->Refresh() lub odświeżenia okna z innego powodu. A ListView1->Items->Count nie pozostawia wątpliwości ile elementów ma ListView.


Masz rację, też usuwa 2, co wydaje się już bardziej logiczne. Tylko nie odświeża automatycznie.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Poprzednia strona

  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 7 gości