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

Вниз

Прокрутка ListBox   Найти похожие ветки 

 
Ilg   (2003-07-17 11:15) [0]

Здравствуйте!
Скажите, как можно поймать момент прокрутки TListBox?
(Почему-то WM_VSCROLL посылается только при прокрутке мышью...
Но при движении по списку с помощью клавиатуры происходят какие-то другие события, хотя полоса прокрутки тоже перемещается...)
Как поймать этот момент?
Заранее, Большое спасибо!


 
[lamer]Barmaglot ©   (2003-07-17 11:38) [1]

Как я понимаю ловить ручками. Если правильно помню - LBN_SELCHANGE.


 
Skier ©   (2003-07-17 11:41) [2]

>Ilg (17.07.03 11:15)
А зачем ловить ? Какая цель ?


 
Ilg   (2003-07-17 18:57) [3]

Я создаю компонент-наследник TListBox с текстурной заливкой фона... При возникновении вышеуказанных событий я перерисовываю ListBox. (Если этого не делать текстурный фон "уродуется".


 
Skier ©   (2003-07-17 19:01) [4]

А CN_DRAWITEM не пробовал ?


 
mrcat ©   (2003-07-17 19:03) [5]

OnDrawItem + перерисовывать ту часть фона, которую занимает Item?


 
Толик ©   (2003-07-17 19:07) [6]

Ну зачем такие извраты?
Всё же гораздо проще: поймать LB_SETTOPINDEX и наступит счастье...


 
Ilg   (2003-07-18 12:00) [7]

LB_SETTOPINDEX почему-то в этот момент не ловится :-(


 
Толик ©   (2003-07-18 12:41) [8]

LB_SETTOPINDEX почему-то в этот момент не ловится

Правильно ли я понимаю, что используются стандартные возможности ListBox"а, заложенные в него MicroSoft"ом прокручиваться по нажатию на курсорные клавиши? Если это так, то тогда LB_SETTOPINDEX действительно не будет. (Я было решил, что раз это компонент-наследник, то вся обработка взята на себя и LB_SETTOPINDEX посылается)
Тогда надо ловить WM_KEYDOWN и WM_LBUTTONDOWN: насколько я понимаю, иначе никак.
Ну или, если рисовать руками, то ловить события перерисовки.



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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
3-100637
ord3f8h
2003-07-07 19:18
2003.07.31
Как работать с DBGrid


3-100543
Sheng
2003-07-11 09:14
2003.07.31
Переиндексация БД


6-100857
LORD
2003-05-25 22:54
2003.07.31
перехват трафика TCP IP


1-100780
Erik
2003-07-16 15:59
2003.07.31
Отсутствует паралельность в com сервере.


11-100649
SPeller
2002-11-17 16:35
2003.07.31
Это DoubleBuffered виноват?