Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.15;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.048 c
3-1090424668
GanibalLector
2004-07-21 19:44
2004.08.15
Возможно ли это ???


6-1087045291
Никита
2004-06-12 17:01
2004.08.15
Подключение к интернету при помощи Delphi


14-1090471679
syte_ser78
2004-07-22 08:47
2004.08.15
Как уговорить "звукозапись" писать больше одной минуты?


3-1090487874
Dmitriy O.
2004-07-22 13:17
2004.08.15
Как узнать прошла транзакция ?


3-1090240496
Aslan
2004-07-19 16:34
2004.08.15
Как с помощью SQL добавить данные в поле типа Memo?