Scrollbar spielt bei hohen Werten total verrückt :(



  • Hallo,
    Habe bei mir eine Scrollbar eingebaut.
    Dieses funktioniert auch generell prima.

    Einziges mir total unverständliches Problem:

    case SB_THUMBPOSITION:
    		case SB_THUMBTRACK:
    			int x = HIWORD(wParam);
    

    Hier hole ich mir die aktuelle Position.
    Das funzt auch bei "kleineren" Werten.
    Ist von der Scrollbar aber der nMax größer (um die 100000),
    dann kommt hier ein total unsinniger Wert an, sobald man
    ans Ende scrollt.
    (Bei 100000 kommt 34445)
    Woran könnte das liegen?

    Gruss,
    Thommy



  • Ich merk grad, daß liegt wohl an der unsigned 2-Bit Grenze 😞
    Kann man nicht höher scrollen als
    65535 ??

    Gibt es da einen Trick, wie es doch geht?



  • probiers doch mal so:

    SCROLLINFO si;
    si.cbSize = sizeof(si);
    si.fMask = SIF_TRACKPOS;
    GetScrollInfo(hwnd,SB_VERT,&si);
    x=si.nTrackPos;
    

    Gruss,
    Stefan


Anmelden zum Antworten