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


Автор: Rapalex 3.4.2007, 15:36
Просто задав диапазон скролов у окна я скролы у меня одного размера, хочется чтоб размер скрола (самого бегунка) слегка менялся, в зависимости от того сколько он прокручивает.

Делаю так:
Код

        SCROLLINFO s;
        ZeroMemory(&s, sizeof(SCROLLINFO));
        s.fMask = SIF_RANGE | SIF_PAGE;
        s.nMin = iMinPos;
        s.nMax = iMaxPos;
        s.nPage = ???;

        if ( !SetScrollInfo(nBar, &s) )
            SetScrollRange(nBar, iMinPos, iMaxPos);


Вот что мне в nPage надо присвоить???

в мсдне сказано 
Код

Specifies the page size. A scroll bar uses this value to determine the appropriate size of the proportional scroll box. 

Автор: Earnest 3.4.2007, 17:54
Это зависит от того, что такое iMinPos и iMaxPos. Если, скажем, это строки, то nPage - это скоко строк помещается на странице (т.е. видно за раз). А если пикселы - то, соответственно, высота (ширина) окна в оных.
И еще не забудь установить размер структуры перед вызовом:
 s.cbSize = sizeof(SCROLLINFO)

Автор: Rapalex 4.4.2007, 17:04
Цитата(Earnest @  3.4.2007,  17:54 Найти цитируемый пост)
 s.cbSize = sizeof(SCROLLINFO)

провтыкал  smile пасибки.

Цитата(Earnest @  3.4.2007,  17:54 Найти цитируемый пост)
 А если пикселы - то, соответственно, высота (ширина) окна в оных.

у меня таки пиксели, так ширина/высота клиентской части или вообще всего рисунка?

Автор: Earnest 4.4.2007, 18:12
Окна, через которое ты картинку показываешь.

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