< prev index next >

src/java.desktop/windows/native/libawt/windows/awt_ScrollPane.cpp

Print this page

        

*** 194,213 **** ::SetScrollInfo(GetHWnd(), orient, &si, TRUE); // scroll position may have changed when thumb is at the end of the bar // and the page size changes posAfter = GetScrollPos(orient); if (posBefore != posAfter) { - if(max==0 && posAfter==0) { - // Caller used nMin==nMax idiom to hide scrollbar. - // On the new themes (Windows XP, Vista) this would reset - // scroll position to zero ("just inside the range") (6404832). - // - PostScrollEvent(orient, SB_THUMBPOSITION, posBefore); - }else{ PostScrollEvent(orient, SB_THUMBPOSITION, posAfter); } - } } void AwtScrollPane::RecalcSizes(int parentWidth, int parentHeight, int childWidth, int childHeight) { --- 194,205 ----
*** 261,284 **** env->SetIntField(hAdj, AwtScrollPane::blockIncrementID, parentWidth); SetScrollInfo(SB_HORZ, childWidth - 1, parentWidth, (policy == java_awt_ScrollPane_SCROLLBARS_ALWAYS)); env->DeleteLocalRef(hAdj); } else { ! SetScrollInfo(SB_HORZ, 0, 0, (policy == java_awt_ScrollPane_SCROLLBARS_ALWAYS)); } if (needsVert) { jobject vAdj = env->GetObjectField(target, AwtScrollPane::vAdjustableID); env->SetIntField(vAdj, AwtScrollPane::blockIncrementID, parentHeight); SetScrollInfo(SB_VERT, childHeight - 1, parentHeight, (policy == java_awt_ScrollPane_SCROLLBARS_ALWAYS)); env->DeleteLocalRef(vAdj); } else { ! SetScrollInfo(SB_VERT, 0, 0, (policy == java_awt_ScrollPane_SCROLLBARS_ALWAYS)); } env->DeleteLocalRef(target); } --- 253,282 ---- env->SetIntField(hAdj, AwtScrollPane::blockIncrementID, parentWidth); SetScrollInfo(SB_HORZ, childWidth - 1, parentWidth, (policy == java_awt_ScrollPane_SCROLLBARS_ALWAYS)); env->DeleteLocalRef(hAdj); } else { ! /* Set scroll info to imitate the behaviour and since we don't ! need to display it, explicitly don't show the bar */ ! SetScrollInfo(SB_HORZ, childWidth - 1, parentWidth, (policy == java_awt_ScrollPane_SCROLLBARS_ALWAYS)); + ::ShowScrollBar(GetHWnd(), SB_HORZ, false); } if (needsVert) { jobject vAdj = env->GetObjectField(target, AwtScrollPane::vAdjustableID); env->SetIntField(vAdj, AwtScrollPane::blockIncrementID, parentHeight); SetScrollInfo(SB_VERT, childHeight - 1, parentHeight, (policy == java_awt_ScrollPane_SCROLLBARS_ALWAYS)); env->DeleteLocalRef(vAdj); } else { ! /* Set scroll info to imitate the behaviour and since we don't ! need to display it, explicitly don't show the bar */ ! SetScrollInfo(SB_VERT, childHeight - 1, parentHeight, (policy == java_awt_ScrollPane_SCROLLBARS_ALWAYS)); + ::ShowScrollBar(GetHWnd(), SB_VERT, false); } env->DeleteLocalRef(target); }
< prev index next >