Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.02.10;
Скачать: [xml.tar.bz2];

Вниз

Горизонтальный 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.038 c
15-1199276594
with
2008-01-02 15:23
2008.02.10
with do


1-1193978134
kva
2007-11-02 07:35
2008.02.10
Использование своих шрифтов


2-1200891748
VladSel
2008-01-21 08:02
2008.02.10
Структура для хранения данных


15-1199960811
@!!ex
2008-01-10 13:26
2008.02.10
Радиоуправление.


2-1200652142
asdf
2008-01-18 13:29
2008.02.10
Как заменить строку в MySQL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский