Два вопроса по ListView->OnCustomDrawSubItem
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.217.58] |
|
|
Два вопроса по ListView->OnCustomDrawSubItem
|
Сообщ.
#1
,
|
|
|
|
1. Как узнать TRect SubItem'а который в данный вызов события OnCustomDrawSubItem нужно перерисовать.
2. Почему после прорисовки на ListView->Canvas'e на всех остальных SubItem'ах прорисовка по умолчанию (DefaultDraw = true) выводит текст не тем шрифтом. |
|
Сообщ.
#2
,
|
|
|
|
Как определить размер я нашел: нужно использовать TListItem::DisplayRect, а дальше плюсовать ширину колонок.
Ну хоть кто-нибудь может объяснить почему после прорисовки на канвасе по дефолту шрифт выводиться чуть больше. Даже если устанавливаю Sender->Canvas->Font->Size = 8;. Это все происходит под 6 Билдером |
|
Сообщ.
#3
,
|
|
|
|
А TRect SubItem'а не передается в обработчик события?
2: Возможно по умолчанию шрифт больше. |
|
Сообщ.
#4
,
|
|
|
|
TRect SubItem'а не передается. Все что передается: (TCustomListView* Sender, TListItem* Item, int SubItem, TCustomDrawState State, TCustomDrawStage Stage, bool &DefaultDraw)
В ListView->Font-Size = 8, а выводится где-то 10. Если в OnCustomDrawSubItem на Canvas ничего не вывожу то все рисуется нормально - 8 размером. Только нарисую квадрат в каком-нибудь поле, и все - остальные поля рисуются по дефолту уже с большим размером шрифта. |
|
Сообщ.
#5
,
|
|
|
|
Первая мысль посмотри явно размер шрифта.
Пробуй скопировать шрифт ирисовать на бмп |