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

Вниз

CustomItemDraw в TListView   Найти похожие ветки 

 
yurique   (2005-08-05 02:30) [0]

Проблема в следующем: при прорисовке элементов используется Columns[i].Width.. Так вот, при изменении ширины колонки (мышкой), событие прорисовки вызывается, но Columns[i].Width не обновляется, пока не закончится изменение ширины..

Подскажите плз, как сие дело обойти, т.е. мне нужно знать реальный размер колонок, или заставить его обновлятся в "real-time"..

Спасибо..


 
Юрий Зотов ©   (2005-08-05 02:41) [1]

OnAdvancedCustomDrawSubItem ?


 
yurique   (2005-08-05 02:54) [2]

да нет..не поможет : )


 
pasha_golub ©   (2005-08-05 03:03) [3]

Друх, тебе, вообще-то, ARect должон передаватся... ;-)


 
pasha_golub ©   (2005-08-05 03:17) [4]

Наврал я немножко, но не сильно...


procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
 Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
Var ARect: TRect;
begin
ARect := Item.DisplayRect(drBounds);
//малюем до пасинения
end;


 
yurique   (2005-08-05 03:28) [5]

pasha_golub, ну я же не пять минут с этим про.. разбирался :)
и про дисплейРект я каким-то чудом слышал ;)
но это не то.. displayRect тоже возвращает "неактуальную" информацию, т.е. на самом деле я уже изменил размер колонки, а рект получу прежний.. пока не закончу изменять размер..


 
pasha_golub ©   (2005-08-05 05:19) [6]

yurique   (05.08.05 03:28) [5]\
Хм, вообщем, я с этим особо не про... разбирался. Но, по памяти помню, что у этого чуда три события для отрисовки итемов. И вызываются они каждое в свое время, я так думаю, в начале, в процесс и на финиши изменения. Осталось найти какое из них. Чего-то не веритя, чтобы было все так сложно. Как никак стандартный компонент.

ЗЫ это я так, чтобы рука не отсохла. Пользы от писанины моей явно мало. :0)


 
yurique   (2005-08-05 05:40) [7]

:)
всё таки нет.. на самом деле там есть 4 этапа прорисовки.. но это ничего не меняет, ведь иначе, при изменеии размера, прорисовка просто отставала бы, а так..
спасибо за потраченное время.. а инфы по этому делу я так и не нашёл :)


 
Юрий Зотов ©   (2005-08-05 05:48) [8]

> yurique   (05.08.05 05:40) [7]

Форме должно приходить WM_NOTIFY, перехватить не вопрос. Нужная информация там сидит в NMHDR (см. сообщения LVN_*).



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

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

Наверх




Память: 0.48 MB
Время: 0.031 c
14-1123237373
12DFBDDh
2005-08-05 14:22
2005.08.28
У всех форм колбасит или только у меня?


1-1123483163
Dimich1978
2005-08-08 10:39
2005.08.28
Переход проекта с Д5 на Д7, ошибка


1-1123585722
rolex
2005-08-09 15:08
2005.08.28
Компонент для ввода IP адреса.


3-1121768946
Sour
2005-07-19 14:29
2005.08.28
Подключение к MySQL


4-1120806372
flying home
2005-07-08 11:06
2005.08.28
сильная задержка времени