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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.049 c
15-1165919282
tytus
2006-12-12 13:28
2006.12.31
Нужен файл WordFile для UltraEdit-32 с Delphi7 синтаксисом


4-1156159118
apic
2006-08-21 15:18
2006.12.31
scm


15-1165232959
vajo
2006-12-04 14:49
2006.12.31
файловая система RAW


2-1165902757
Mazer
2006-12-12 08:52
2006.12.31
Тренажор на клавиатуре по печатанию в слепую


2-1165825556
Алик
2006-12-11 11:25
2006.12.31
Перевод шестнадцатиричных чисел в десятичные