Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.10;
Скачать: CL | DM;

Вниз

Горизонтальный TListBox   Найти похожие ветки 

 
КПавел   (2008-01-10 23:20) [0]

Мне нужен горизонтальный TListBox - ну т.е. обычный TListBox, но что бы при этом все Items"ы показывались по горизонту.

Я смотрел свойство Columns в TListBox, оно подходит например для 10 записей. Но если указать 100 и более, то при этом ширина записей становится нулевой (они сжимаются).

Что посоветуете?


 
DVM ©   (2008-01-10 23:24) [1]


> Что посоветуете?

TListView


 
КПавел   (2008-01-10 23:52) [2]

Совсем что-то не хочется использовать его мне, рассматриваю как крайний случай.

Пытался посмотреть в исходникахх TCustomListBox, как задается ширина колонок и задать её принудительно.

procedure TCustomListBox.SetColumnWidth;
var
 ColWidth: Integer;
begin
 if (FColumns > 0) and (Width > 0) then
 begin
   ColWidth := 20;
   //ColWidth := Trunc(ClientWidth / FColumns);
   //if ColWidth < 1 then ColWidth := 1;
   SendMessage(Handle, LB_SETCOLUMNWIDTH, ColWidth, 0);
 end;
end;


Стало работать, но вот что меня волнует. У меня если записей меньше чем количество при котором появляется горизонтальный ScrollBar, то height = 25. Если количество записей будет больше чем 14, то тогда следует увеличивать height, т.к. в таком случае появившийся ScrollBar будет заслонять всё.

Я сделал все совсем слишком в лоб, не опираясь на какие-то настройки пользователей, размеры скроллбаров.

 ListBox1.Items.Add("s");
 if ListBox1.Items.Count = 14 then
   ListBox1.Height :=  ListBox1.Height + 15;


Как бы это грамотно написать?


 
Германн ©   (2008-01-11 00:41) [3]

А если не ListBox, а StringGrid?


 
No_Dead ©   (2008-01-11 04:11) [4]

> [3] Германн ©   (11.01.08 00:41)

озадачил аффтора:)


 
КПавел   (2008-01-11 09:37) [5]

Совсем не хочется использовать что-то отличное от TListBox, сейчас в программе только они и используются.

Способ то я кажется нужный работы с TListBox нашел, другое дело что я не уверен в коде добавления записей в TListBox, при котором нужно менять его высоту из за появления вертикального скроллбара.


 
Правильный_Вася   (2008-01-11 11:38) [6]


>  не хочется использовать что-то отличное от TListBox, сейчас
> в программе только они и используются.

хороши принципы, уважаю
закидоны, правда, но каждому свои тараканы



Страницы: 1 вся ветка

Текущий архив: 2008.02.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
15-1199827853
necromancer
2008-01-09 00:30
2008.02.10
AJAX


9-1167271020
maxProg
2006-12-28 04:57
2008.02.10
Direct3D


2-1200385986
asdf
2008-01-15 11:33
2008.02.10
DBGrid


4-1183336358
DagOT-R
2007-07-02 04:32
2008.02.10
Трей-иконки


15-1200080417
Черный Шаман
2008-01-11 22:40
2008.02.10
Билинейная или бикубическая фильтрация с учетом TransparentColor