Главная страница
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.02 c
15-1199827853
necromancer
2008-01-09 00:30
2008.02.10
AJAX


2-1200145159
AntonUSAnoV
2008-01-12 16:39
2008.02.10
чувствительность к регистру в SQL запросе...


2-1200571334
_Shuler_
2008-01-17 15:02
2008.02.10
Winrar&amp;Delphi


15-1199920272
ArtemESC
2008-01-10 02:11
2008.02.10
Посоветуйте что-нибудь играбельное...


2-1200583087
zeroed
2008-01-17 18:18
2008.02.10
Java - Delphi, помогите с переходом