Вниз
Скачать: 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 вся ветка

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



Память: 0.46 MB
Время: 0.013 c
3-100580
Silla
2003-07-07 15:09
2003.07.31
DBLookupComboBox


1-100706
sasha_w
2003-07-18 13:54
2003.07.31
Подскажите как к TreeView добавить субменю, сами меню добавляю


3-100645
Spawn
2003-07-10 17:37
2003.07.31
IB


3-100585
??
2003-07-08 18:46
2003.07.31
про ADO.


14-100941
Дмитрий К.К.
2003-07-15 06:08
2003.07.31
Именинники 15 июля




   Наверх