Вверх ↑
Администрация
Ответов: 15295
Рейтинг: 1519
#1: 2008-10-29 00:03:06 ЛС | профиль | цитата
nesco писал(а):
Разве, вроде зависел от размера иконки по ширине.

неа. Глядя на код видим

#pas
dy := Rect.Bottom - Rect.Top;
gtRect.Left:= gtRect.Left + SHIFT_GUTTER;
gtRect.Right:= gtRect.Left + dy + SHIFT_PICTURE;
т.е. зависит он только от высоты итема и констант, а конкретнее всегда на 3 пикселя больше него. Но самое главное, что вывод гуттера заточен в расчете на то, что его габариты одинаковы, что не всегда как видишь может быть верно. Нужно видимо его длинну всеже вывести как параметр и дать пользователю самостоятельно управлять этой настройкой.

nesco писал(а):
Вообще-то странные артефакты, никогда таких не видел. Надо разбираться в чем проблема.

не факт, что менеджер используется должным образом. Хотя и не исключено, что в алгоритме отрисовки была случайно использована какая-то особенность отрисовки пунктов стандартных элементов...

Будем считать этот пример тестом на оправдание основного св-ва менеджеров, которое гласит: будучи раз написанным менеджер может использоваться совместно с любыми иными элементами, поддерживающуми регламентированный протокол общения с ним.
карма: 27
0