Question and Answer Database FAQ1510D.txt Setting custom tabstops in a ListBox. Category :VCL Platform :All Product :All 32 bit Question: How can I set custom tab stops in a TListbox control? Answer: You will need to send a LB_SETTABSTOPS message to the Listbox. Note: The Listbox tabwidth property must be set to a number other than zero for the LB_SETTABSTOPS mesage to work. Example: procedure TForm1.FormCreate(Sender: TObject); begin ListBox1.TabWidth := 1; ListBox1.Items.Add('one'+#9+'one'); ListBox1.Items.Add('two'+#9+'two'); ListBox1.Items.Add('three'+#9+'three'); end; procedure TForm1.Button1Click(Sender: TObject); var DialogUnitsX : LongInt; PixelsX : LongInt; i : integer; TabArray : array[0..4] of integer; begin DialogUnitsX := LoWord(GetDialogBaseUnits); PixelsX := SpinEdit1.Value; for i := 1 to 5 do begin TabArray[i — 1] := ((PixelsX * i ) * 4) div DialogUnitsX; end; if SendMessage(ListBox1.Handle, LB_SETTABSTOPS, 5, LongInt(@TabArray)) = 0 then ShowMessage('Tabs Not Set'); Listbox1.Refresh; end; 7/16/98 4:31:28 PM
Last Modified: 01-SEP-99