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

Вниз

TListBox: Items разной высоты   Найти похожие ветки 

 
Axis_of_Evil ©   (2006-11-14 15:50) [0]

0) пусть вызывается ListBox1.Items.AddObject(str, obj);
в ответ вызывается ListBox1.MeasureItem, но obj еще не добавлен, т.е. ListBox1.Items.Objects[0] = nil. в некоторых источниках называют багом ListBox (API) :>
так как же быть, если высоту item"а в MeasureItem нужно вычислить, используя соотв. ему obj?

1) есть надобность менять высоту Item"а по DoubleClick.
ListBoxDblClick(Sender: TObject);
begin
 with ListBox do
   with Items.Objects[ItemIndex] as TSharedItem do
   begin
     Expanded := not Expanded;
     if Expanded then
       SendMessage(SharesListBox.Handle, LB_SETITEMHEIGHT,
                   SharesListBox.ItemIndex, 100)
     else
       SendMessage(SharesListBox.Handle, LB_SETITEMHEIGHT,
                   SharesListBox.ItemIndex, 50);
     Invalidate;    
   end;
end;


почти работает, но в случае наличия видимого незанятого item"ами пространства - забывает его перериовать (т.е. при свертке от 100 к 50 одного Item"а остается "след" нижнего)

ваши предложения?


 
clickmaker ©   (2006-11-14 16:39) [1]

а полностью его перерисовать не помогает?


 
Axis_of_Evil ©   (2006-11-14 16:57) [2]

что Ivalidate, что Repaint - один эффект.
не понимаю ..


 
clickmaker ©   (2006-11-14 17:04) [3]


> [2] Axis_of_Evil ©   (14.11.06 16:57)

RedrawWindow еще попробуй. RDW_INVALIDATE or RDW_ERASE or RDW_UPDATENOW. По идее, должен фон перерисовать


 
Axis_of_Evil ©   (2006-11-14 17:08) [4]

clickmaker ©   (14.11.06 17:04) [3]
тигра, ты чудо. спасибо.



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

Форум: "Основная";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.047 c
15-1165475150
codeCleaner
2006-12-07 10:05
2006.12.31
Удобочитаем ли следующий код?


2-1166001845
mfender
2006-12-13 12:24
2006.12.31
Перечисляемые свойства


6-1155098405
VitGun
2006-08-09 08:40
2006.12.31
Программное создание и настройка Dial-Up соединения


5-1145882537
Andrew_GUNski
2006-04-24 16:42
2006.12.31
Добавление своего класса Properties DevExpress Grid


15-1165563723
vitv
2006-12-08 10:42
2006.12.31
Какая книга лучше?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский