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

Вниз

ListView.OwnerDraw - не меняется высота Item   Найти похожие ветки 

 
simpson ©   (2005-11-15 15:06) [0]

Здравствуйте.

Возникла необходимость заменить стандартную отрисовку ListView со стилем "репорт" на свою. Установил свойство OwnerDraw в True, написал обработчик события OnDrawItem. Обнаружилась одна проблема — высота прямогугольника в котором должен рисоваться item, мягко говоря, не соответствует действительности — она меньше, чем нужно (шрифт у ListView достаточно крупный по сравнению с системным).

При дефолтной отрисовке высота item вычисляется корректно, мне передается черт знает что. Может, кто сталкивался с подобной проблемой?


 
simpson ©   (2005-11-15 18:03) [1]

Проблема решена, мож кому пригодится.

Нужно обрабатывать сообщение WM_MEASUREITEM у окна-владельца листвью.

В общем случае решается подменой оконной процедуры у ListView.Parent.Handle, в подмененной процедуре при обработке WM_MEASUREITEM указывать нужную высоту айтема.

Странно другое -  почему это не делается в самом классе TListVew... Ведь то же самое реализовано для TListBox. Видимо, загадка от разработчиков VCL.



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

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

Наверх





Память: 0.44 MB
Время: 0.04 c
2-1133011576
The One
2005-11-26 16:26
2005.12.11
Получение предыдущего значения параметра спомошью RegQueryValueEx


3-1130312080
oleggar
2005-10-26 11:34
2005.12.11
Clipper indexing


8-1121037044
Yura32
2005-07-11 03:10
2005.12.11
OpenGL


14-1132513063
SergProger
2005-11-20 21:57
2005.12.11
Какой Socket у Pentium 3 ?


14-1132214056
Карелин Артем
2005-11-17 10:54
2005.12.11
Определение пола автоматом.





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