2011-01-15 2 views
0

Я читал около SetScrollRange, но до сих пор не получил то, что диапазон (мин, макс.) Находится в полосе прокрутки. Я установил вертикальный диапазон полосы прокрутки Rich Edit элемент управления на (0, 100)SetScrollRange Function

SetScrollRange(hwndRichEditControl, SB_VERT, 0, 100, TRUE); 

Теперь, если я пытаюсь GetScrollPos получить позицию я получаю значение над максимальным диапазоном. Не должно ли положение быть между 0 и 100?

int Pos = GetScrollPos(hwndRichEditControl, SB_VERT); 

ответ

1

Не следует. Сам элемент управления RichEdit определяет диапазон прокрутки полосы прокрутки. Что он делает, в зависимости от того, сколько текста он отображает. Переопределение этого не будет длиться долго, если вообще. Вы можете использовать GetScrollInfo(), чтобы узнать, что он использует в настоящее время. Это изменится, как только пользователь добавит текст.

+0

Но как я могу узнать, имеют ли прокрутки в середине или снизу? – Jack

+0

Это не полное предложение, я должен догадаться, что вы действительно говорите о информации, которую вы получаете из GetScrollInfo(). Вы получаете SCROLLINFO с nMin, nMax и nPos. Значение nPos указывает, где оно прокручивается, относительно nMin и nMax. –

+0

На самом деле вот в чем проблема, я не получаю значение nPos относительно nMin и nMax. он переходит через nMax. – Jack