Skocz do zawartości

ListBox i columns


Omega

Recommended Posts

Tak. Szukalem, szukalem, mialem na mysli to co napisales i rzeczywiscie. Chodzi o to, ze listbox z tym stylem to poprostu listbox, ktory wogole nie ma paska przewijania pionowego (nawet jak dodasz odpowiedni styl - WS_VSCROLL, to i tak jest to ignorowane). I teraz jak dodajesz tekst do kolejnej linii, to gdy przejdzie on poza wysokosc listboxa to tekst przeskakuje do kolumny obok.
Z tego wynika, ze jezeli chcemy zrobic listboxa z wileoma kolumnami, ktore normalnie maja pasek pionowego przewijania, to nie mozemy dodac stylu LBS_MULTICOLUMN tylko najlepiej LBS_OWNERDRAWFIXED i samemu poprzez uzywanie komunikatu WM_DRAWITEM rysowac pierwsza kolumne i druga sztucznie zaaranzowac jako pewna odleglosc (stala w kazdym wierszu) od lewej strony.

That's all.

Link do komentarza
Udostępnij na innych stronach

Rzeczywiście w ListBox'ie nie ma obsługi kolumn (przynajmniej w takim znaczeniu o jakie chodzi Twardemu). Jednak biblioteka Common Controls (niestety nie wiem czy istnieje jej odpowiednik dla Delphi) oferuje kontrolkę ListView (jej klasa nazywa się SysListView32). Obsługuje ona różne widoki (takie jakie mamy do wyboru na przykład w Explorerze), między innymi widok raportu (kolumny), posiada również możliwośc dodawania do niej ikonek itp.
Tutaj masz wylistowane wszystkie komunikaty które obsługuje ListView.

Link do komentarza
Udostępnij na innych stronach

No jest - ogolnie to ja znam bardzo dobrze. A dodatkowo w delphi (VCL) jest jedna tak skonstruowana, ze wyswietla pliki i katalogi (jak w explorerze). Jest tez ta dla treeview. Ale wlasnie mi zalezalo na prostocie i chcialem skorzystac z listbox. Ale i tak skorzystam wykorzystujac styl LBS_OWNERDRAWFIXED.

Link do komentarza
Udostępnij na innych stronach

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...