2011-01-15 2 views
0

Ich habe über SetScrollRange gelesen, aber immer noch nicht, was der Bereich (min, max) in Bildlaufleiste ist. Ich habe die reiche Bearbeitungssteuer vertikale Bildlaufleiste Bereich (0, 100)SetScrollRange Funktion

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

Wenn ich jetzt GetScrollPos versuchen, die Position zu bekommen i den Wert über Max-Bereich bin immer. Sollte die Position nicht zwischen 0 und 100 liegen?

int Pos = GetScrollPos(hwndRichEditControl, SB_VERT); 

Antwort

1

Es sollte nicht. Das RichEdit-Steuerelement selbst bestimmt den Bildlaufbereich der Bildlaufleiste. Was es macht, hängt davon ab, wieviel Text angezeigt wird. Das Überschreiben wird nicht lange dauern, wenn überhaupt. Sie können GetScrollInfo() nur verwenden, um herauszufinden, was es gerade verwendet. Dies wird sich ändern, sobald der Benutzer Text hinzufügt.

+0

Aber wie kann ich wissen, ob die Rollbilder in der Mitte oder unten? – Jack

+0

Das ist kein vollständiger Satz, ich muss vermuten, dass Sie tatsächlich über die Informationen sprechen, die Sie aus GetScrollInfo() erhalten. Sie erhalten ein SCROLLINFO mit nMin, nMax und nPos. Der nPos-Wert gibt Ihnen an, wo er gescrollt wird, relativ zu nMin und nMax. –

+0

Eigentlich ist das das Problem, ich bekomme keinen nPos-Wert relativ zu nMin und nMax. es geht über nMax. – Jack

Verwandte Themen