vertically scrolling a listbox
-
hello there, I would like to scroll my CListBox (in other words, not a CListCtrl or CListView!) so that a certain item is the topmost visible item in the list (having it visible is not enough). Any ideas? I tried SetScrollPos, and although the range is meaningful, only the scrollbar gets "scrolled" (the bar moves), but the listbox itself doesn't move. I'm getting quite desperate and all i can find if horizontal scrolling everywhere. thanks
-
hello there, I would like to scroll my CListBox (in other words, not a CListCtrl or CListView!) so that a certain item is the topmost visible item in the list (having it visible is not enough). Any ideas? I tried SetScrollPos, and although the range is meaningful, only the scrollbar gets "scrolled" (the bar moves), but the listbox itself doesn't move. I'm getting quite desperate and all i can find if horizontal scrolling everywhere. thanks
I think SetTopIndex or LB_SETTOPINDEX will do what you want.
- S 50 cups of coffee and you know it's on!
-
hello there, I would like to scroll my CListBox (in other words, not a CListCtrl or CListView!) so that a certain item is the topmost visible item in the list (having it visible is not enough). Any ideas? I tried SetScrollPos, and although the range is meaningful, only the scrollbar gets "scrolled" (the bar moves), but the listbox itself doesn't move. I'm getting quite desperate and all i can find if horizontal scrolling everywhere. thanks
After you call SetScrollPos() to set the postion of the scroll bar you have to also send a WM_VSCROLL message to the list box to actually get the list box content to scroll.
pListBox->SetScrollPos(SB_VERT, Position);
pListBox->SendMessage(WM_VSCROLL, MAKEWPARAM(SB_THUMBPOSITION, Position), NULL);
You may be right
I may be crazy
-- Billy Joel --Within you lies the power for good, use it!!!
-
After you call SetScrollPos() to set the postion of the scroll bar you have to also send a WM_VSCROLL message to the list box to actually get the list box content to scroll.
pListBox->SetScrollPos(SB_VERT, Position);
pListBox->SendMessage(WM_VSCROLL, MAKEWPARAM(SB_THUMBPOSITION, Position), NULL);
You may be right
I may be crazy
-- Billy Joel --Within you lies the power for good, use it!!!