Вниз
Скачать: CL | DM;

Скроллинг WinControl   Найти похожие ветки 

← →
dosik   (2004-07-07 01:30) [0]

Уважаемые, доброе время суток!!! Пишу свой ListView только не на базе ListView_XXX макросов а полностью свой на базе WinConrol. Как организовать скроллинг приклепленной к нему канвы.

Заранее благодарен.
Дмитрий.


← →
inic ©   (2004-07-07 10:54) [1]

Например, я делал так:
Было приватное поле FFirstVisibleRow;
Обрабатывая WM_VSCROLL меняю это поле его, и вызываю
InvalidateRect, в связи с чем в итоге вызывается Paint.
Там рисуешь все итемы с FFirstVisibleRow до ItemsPerScreen (тоже твой метод, который возвращает ClientHeight div FRowHeight). Тоже про колонки.
Насчет InvalidateRect -неуверен, что оптимально.
Можно например часть канвы которая была видна и осталась видна смещать и дорисовывать вновь появившиеся итемы.


← →
dosik   (2004-07-07 13:26) [2]

Огромное спасибо за рекомендацию, но имелось в виду немного другое, что-то вроде TScrollBox и TImage внутри. Т.е. если рисунок вылазиет за пределы TImage (а в моем случае приклепленной канвы) и становится больше чем TScrollBox (мой компонент), то автоматически включается прокрутка.


← →
Mim1 ©   (2004-07-07 21:56) [3]


> [2] dosik   (07.07.04 13:26)

Может тогда пронаследоваться от TScroledWinControl?


← →
dosik   (2004-07-07 22:56) [4]

Ну я так и планирую , только вот там тоже геморои сови возникают )))



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
1-1091309178
Ricks
2004-08-01 01:26
2004.08.15
Dump памяти программы


4-1089204492
Justas
2004-07-07 16:48
2004.08.15
Flash


4-1088883988
3APA3A
2004-07-03 23:46
2004.08.15
thread local storage


1-1091090587
ksu
2004-07-29 12:43
2004.08.15
библиотека для растрово-векторной графики


1-1091076278
Mental_Ray
2004-07-29 08:44
2004.08.15
Как узнать позицию (не координаты) курсора в RichEdit?




   Наверх