Главная страница | назад





Article #16510: Setting custom tabstops in a ListBox.

 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