Skocz do zawartości

Recommended Posts

Napisano

Mam kilka problemów z list-view, oto one:
1. W WM_INITDIALOG wrzucam na listę pozycje, potem robię
ListView_SetItemState(hListBox, 0,LVIS_FOCUSED, LVIS_FOCUSED) żeby fokus złapała pierwsza pozycja na liście. Jednak nie łapie, chyba że kliknę gdzieś w obrębie tej listy (np na białym obszarze), co jest równoznaczne z wywołaniem WM_NOTIFY. Da się to jakoś zrobić od razu?

2. Chcę w pewnym momencie wrzucania pozycji na listę zmienić kolor tekstu. Warunek sprawdza dla każdej pozycji jaki kolor jej nadać i nadaje komunikatem LVM_SETTEXTCOLOR. Problem w tym, że reszta pozycji na liście przyjmuje kolor pierwszego elementu. Wnioskuję z tego, że LVM_SETTEXTCOLOR dotyczy całej listy. Czy jest jakaś inna możliwość zmiany kolorów tekstu na liście?

Napisano

Niestety oba nie pomogły. LVS_SHOWSELALWAYS mam zaznaczone w Properties, SetFocus nic nie daje. Da się wywołać komunikat NM_RCLICK dla listy? Prawy klawisz nic nie zepsuje, a gdy wywołam ten komunikat do WM_NOTIFY to lista powinna złapać fucus, bo po kliknięciu go łapie.

Napisano

Raczej nie zadziała Ci to, bo notyfikacje wysyla samo ListView. Musi to dzialac: "LVS_SHOWSELALWAYS The selection, if any, is always shown, even if the control does not have the focus. " To kawalek wykrojony prosto z MSDN. Moze gdzies indziej cos spieprzyles :/ 9_9

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...