Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > проблема с CScrollBar


Автор: abraziv 21.10.2015, 14:13
Доброго времени суток. Такая проблема. При большом количестве данный, т.е. при:
scrollinfo.nMin = 0;
scrollinfo.nMax = N-1;

N = 16777216

в обработчике OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
nPos перестаёт соответствует действительности, т.е. после того как я нажимаю на ползунок, то nPos всегда меньше причём на много должного значения. В итоге бегунок всегда прилипает к нулю. nPos получается небольшое но не нулевое. Причём даже если я нажимаю на ползунок находящийся ближе к концу, всё равно значение nPos небольшое. Как быть не знаю.

Если работать с размером N по меньше, то таких проблем не наблюдается.

Автор: Amp 21.10.2015, 16:04
https://msdn.microsoft.com/en-us/library/15zh6hdz.aspx

Код

The difference between the values specified by nMinPos and nMaxPos must not be greater than 32,767.

Автор: Sajtran 24.10.2015, 16:25
просто получайте координаты у самого скрола, не берите их из события
https://msdn.microsoft.com/ru-ru/library/windows/desktop/bb787583(v=vs.85).aspx

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/problema-s-CScrollBar-id562773b5ae2015a5038b4567#findElement_E7045_562b86e1ae2015607b8b4593_0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)