guys, I don't mean to be rude, but if you don't understand what xinyiman asked, do not reply.
the thing is, delphi listbox has a property called TabWidth. you set it to, say 200, then do something like:
LB.Items.Add('first column' + #9 + 'second column' + #9 + 'second column'); // #9 = tab
LB.Items.Add('sdfasdf' + ^I + 'sd sdfsd' + ^I + 'sdf sadfasdf'); // sure, ^I works too
LB.Items.Add('first column'#9'second column'#9'second column');
and you get the contents nicely aligned in three columns. you should fix tab width in OnResize event (200 units aren't 200 pixels, but you can easily find correspondence).
- - - - (explanation done, now the post answer) - - - -
lazarus listbox does not have that property because some widgetsets do not support it. sorry. make listbox ownerdrawn if you really need that option or use listview. i'd use stringgrid (hide the gridlines, add rowselect option and you're good).