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

Вниз

OnMeasureItem и Items.Objects   Найти похожие ветки 

 
ZeK   (2006-12-15 10:56) [0]

Задача постороить список с варьируемой высотой пунктов. Высота вычисляется из значений связанного объекта. Но в событии OnMeasureItem Items.Objects[I] равен nil. Можно конечно передать адрес через
Items.Add(IntToStr(Cardinal(Object)))
но программа критична ко времени, не подходит. Что делать?


 
MBo ©   (2006-12-15 11:10) [1]

Yes, this is an old problem caused by the fact that the AddObject method
internally has to send two messages to the Windows listbox control. The
first creates the item and sets it text, the second stores the object into
the item. Unfortunately it is the first message (LB_ADDSTRING or
LB_INSERTSTRING) that causes the WM_MEASUREITEM message to be send back, so
the object has not been stored yet when the OnMeasureItem event fires.

The best way to fix this is to simply ignore the OnMeasureItem event.
Instead you measure the item immediately after the AddObject call and send a
LB_SETITEMHEIGHT message to the listbox to tell it the height.

Peter Below


 
ZeK   (2006-12-15 11:54) [2]

Cool, thank you very match (На этом мой англ. заканчивается :).


 
MBo ©   (2006-12-15 13:15) [3]

>На этом мой англ. заканчивается
Ну смысл-то понял?


 
Nostradamus ©   (2006-12-15 21:09) [4]

Перед добавлением просто пиши в переменную что добавил и оттуда пери значения в OnMeasureItem


 
ZeK   (2006-12-15 22:58) [5]

2 MBo ©
Понял :)
2 Nostradamus ©
Я использую BeginUpdate/EndUpdate, из-за большого размера списка. Поэтмоу через переменную неполучится



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

Текущий архив: 2007.02.11;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.099 c
15-1169034260
Зм1й
2007-01-17 14:44
2007.02.11
Длительность арифметических операций


6-1157832233
Lex Luthor
2006-09-10 00:03
2007.02.11
Загрузка контактов в TICQ Client e


15-1169285631
*Стажер*
2007-01-20 12:33
2007.02.11
Версии программы


15-1169372288
MultiCreator
2007-01-21 12:38
2007.02.11
Работа программы при заблокированной сессии XP


3-1164029298
Ольга
2006-11-20 16:28
2007.02.11
Ошибка I/O Error 103 при работе с базой данных Paradox





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