SetScrollInfo Zugriff verweigert



  • Ich habe folgenden Code in WM_CREATE in meinem Message Handler:

    static HWND scrollbar = CreateWindow(_T("SCROLLBAR"), _T(""), WS_CHILD | WS_VISIBLE | SBS_VERT, 0, 0, 0, 0, hwnd, 0, 0, 0);
    assert(scrollbar);
    assert(GetLastError() == 0);
    SCROLLINFO si;
    si.cbSize = sizeof si;
    si.fMask = SIF_PAGE | SIF_POS | SIF_RANGE;
    si.nMax = 0;
    si.nMin = 0;
    si.nPage = 0;
    si.nPos = 0;
    si.nTrackPos = 0;
    SetScrollInfo(scrollbar, SB_CTL, &si, 1);
    printf("%d\n", GetLastError());
    

    Das letzte printf gibt eine 5 aus, was für Zugriff verweigert steht. Wieso?



  • Hi nwp3,

    bei mir klappt alles. SetScrollInfo gibt als Rückgabewert die Position des Markers zurück und das ist eine 0.

    Ich hab deinen Code kopiert und unter WM_CREATE eingefügt.

    Das einzige was du "falsch" gemacht hast, ist das die Position 0,0,0,0 ist.
    So kann kein Scrollbalken angezeigt werden. Die Felder müssen mit etwas
    Sinnvollem gefüllt werden oder du benutzt noch die Funktion MoveWindow(...);

    Gruß
    Adrian


Anmelden zum Antworten