projects
/
reactos.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
824e5db
)
[WIN32SS] Disable scrollbars when SIF_DISABLENOSCROLL is used
963/head
author
Mark Jansen
<mark.jansen@reactos.org>
Sun, 21 Oct 2018 17:09:09 +0000
(19:09 +0200)
committer
Mark Jansen
<mark.jansen@reactos.org>
Sun, 28 Oct 2018 12:02:27 +0000
(13:02 +0100)
CORE-13918
win32ss/user/ntuser/scrollbar.c
patch
|
blob
|
history
diff --git
a/win32ss/user/ntuser/scrollbar.c
b/win32ss/user/ntuser/scrollbar.c
index
a8f7c66
..
582a603
100644
(file)
--- a/
win32ss/user/ntuser/scrollbar.c
+++ b/
win32ss/user/ntuser/scrollbar.c
@@
-58,6
+58,10
@@
DBG_DEFAULT_CHANNEL(UserScrollbar);
/* FUNCTIONS *****************************************************************/
/* FUNCTIONS *****************************************************************/
+BOOL APIENTRY
+IntEnableScrollBar(BOOL Horz, PSCROLLBARINFO Info, UINT wArrows);
+
+
/* Ported from WINE20020904 */
/* Compute the scroll bar rectangle, in drawing coordinates (i.e. client coords for SB_CTL, window coords for SB_VERT and
* SB_HORZ). 'arrowSize' returns the width or height of an arrow (depending on * the orientation of the scrollbar),
/* Ported from WINE20020904 */
/* Compute the scroll bar rectangle, in drawing coordinates (i.e. client coords for SB_CTL, window coords for SB_VERT and
* SB_HORZ). 'arrowSize' returns the width or height of an arrow (depending on * the orientation of the scrollbar),
@@
-203,6
+207,14
@@
IntCalculateThumb(PWND Wnd, LONG idObject, PSCROLLBARINFO psbi, PSBDATA pSBData)
psbi->xyThumbBottom = 0;
ThumbPos = Thumb;
}
psbi->xyThumbBottom = 0;
ThumbPos = Thumb;
}
+ else if (psbi->rgstate[SBRG_TOPRIGHTBTN] == STATE_SYSTEM_UNAVAILABLE &&
+ psbi->rgstate[SBRG_BOTTOMLEFTBTN] == STATE_SYSTEM_UNAVAILABLE &&
+ pSBData->posMin >= (int)(pSBData->posMax - max(pSBData->page - 1, 0)))
+ {
+ /* Nothing to scroll */
+ psbi->xyThumbTop = 0;
+ psbi->xyThumbBottom = 0;
+ }
else
{
ThumbBox = pSBData->page ? MINTRACKTHUMB : UserGetSystemMetrics(SM_CXHTHUMB);
else
{
ThumbBox = pSBData->page ? MINTRACKTHUMB : UserGetSystemMetrics(SM_CXHTHUMB);
@@
-642,6
+654,12
@@
co_IntSetScrollInfo(PWND Window, INT nBar, LPCSCROLLINFO lpsi, BOOL bRedraw)
co_UserRedrawWindow(Window, &UpdateRect, 0, RDW_INVALIDATE | RDW_FRAME);
}
*/ }
co_UserRedrawWindow(Window, &UpdateRect, 0, RDW_INVALIDATE | RDW_FRAME);
}
*/ }
+
+ if (bChangeParams && (nBar == SB_HORZ || nBar == SB_VERT) && (lpsi->fMask & SIF_DISABLENOSCROLL))
+ {
+ IntEnableScrollBar(nBar == SB_HORZ, psbi, Window->pSBInfo->WSBflags);
+ }
+
/* Return current position */
return lpsi->fMask & SIF_PREVIOUSPOS ? OldPos : pSBData->pos;
}
/* Return current position */
return lpsi->fMask & SIF_PREVIOUSPOS ? OldPos : pSBData->pos;
}