Главная страница
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.022 c
2-1200107272
дучф_ч
2008-01-12 06:07
2008.02.10
приложение без установки BDE


2-1200553424
vvrz
2008-01-17 10:03
2008.02.10
Как автоматически прописать ODBC и BDE


15-1199899987
@!!ex
2008-01-09 20:33
2008.02.10
Подключиьб IDE винт к ноуту... реально ли?


2-1200425171
DmT
2008-01-15 22:26
2008.02.10
Как написать проверку на возможность перезаписи файла


2-1200472132
_Shuler_
2008-01-16 11:28
2008.02.10
keyboardlayout