Skocz do zawartości

ListBox i columns


Recommended Posts

Napisano

Mi sie wydaje ze poprostu to sie robi automatycznie czyli jesli bedziesz mial szerokie pole listbox i jesli ci sie skonczy miejsce w listboxie w pionie to kolejne pola sie przerzucaja do drugiej kolumny ale nie jestem tego pewien.

Napisano

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.

Napisano

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.

Napisano

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.

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