Changeset 1724 for trunk/src/user32/scroll.cpp
- Timestamp:
- Nov 13, 1999, 5:42:43 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/scroll.cpp
r1717 r1724 1 /* $Id: scroll.cpp,v 1.2 1 1999-11-12 17:16:37cbratschi Exp $ */1 /* $Id: scroll.cpp,v 1.22 1999-11-13 16:42:42 cbratschi Exp $ */ 2 2 /* 3 3 * Scrollbar control … … 8 8 * Copyright 1994, 1996 Alexandre Julliard 9 9 * 10 * WINE version: 99 092310 * WINE version: 991031 11 11 * 12 12 * Status: complete … … 1400 1400 if (info->fMask & (SIF_RANGE | SIF_PAGE | SIF_DISABLENOSCROLL)) 1401 1401 { 1402 new_flags = infoPtr->flags; 1403 if (infoPtr->MinVal >= infoPtr->MaxVal - MAX( infoPtr->Page-1, 0 )) 1404 { 1405 /* Hide or disable scroll-bar */ 1406 if (info->fMask & SIF_DISABLENOSCROLL) 1407 { 1408 new_flags = ESB_DISABLE_BOTH; 1409 action |= SA_SSI_REFRESH; 1410 } 1411 else if (nBar != SB_CTL) 1412 { 1413 action = SA_SSI_HIDE; 1414 goto done; 1415 } 1416 } 1417 else /* Show and enable scroll-bar */ 1418 { 1419 new_flags = 0; 1420 if (nBar != SB_CTL) 1421 action |= SA_SSI_SHOW; 1422 } 1423 1424 if (infoPtr->flags != new_flags) /* check arrow flags */ 1425 { 1426 infoPtr->flags = new_flags; 1427 action |= SA_SSI_REPAINT_ARROWS; 1428 } 1402 new_flags = infoPtr->flags; 1403 if (infoPtr->MinVal >= infoPtr->MaxVal - MAX( infoPtr->Page-1, 0 )) 1404 { 1405 /* Hide or disable scroll-bar */ 1406 if (info->fMask & SIF_DISABLENOSCROLL) 1407 { 1408 new_flags = ESB_DISABLE_BOTH; 1409 action |= SA_SSI_REFRESH; 1410 } else if (nBar != SB_CTL) 1411 { 1412 action = SA_SSI_HIDE; 1413 goto done; 1414 } 1415 } else /* Show and enable scroll-bar */ 1416 { 1417 new_flags = 0; 1418 if (nBar != SB_CTL) action |= SA_SSI_SHOW; 1419 if (infoPtr->flags) action |= SA_SSI_REFRESH; 1420 } 1421 1422 if (infoPtr->flags != new_flags) /* check arrow flags */ 1423 { 1424 infoPtr->flags = new_flags; 1425 action |= SA_SSI_REPAINT_ARROWS; 1426 } 1429 1427 } 1430 1428 … … 1439 1437 ShowScrollBar(hwnd,nBar,TRUE); 1440 1438 1441 if(bRedraw && (action & SA_SSI_REFRESH)) 1439 if (bRedraw) 1440 { 1441 if (action & SA_SSI_REFRESH) 1442 1442 SCROLL_RefreshScrollBar(hwndScroll,nBar,TRUE,TRUE); 1443 else 1444 { 1445 if (action & SA_SSI_REPAINT_INTERIOR || action & SA_SSI_MOVE_THUMB) 1446 SCROLL_RefreshScrollBar(hwndScroll,nBar,FALSE,TRUE); 1447 if (action & SA_SSI_REPAINT_ARROWS ) 1448 SCROLL_RefreshScrollBar(hwndScroll,nBar,TRUE,FALSE); 1443 else 1444 { 1445 if (action & (SA_SSI_REPAINT_INTERIOR | SA_SSI_MOVE_THUMB)) 1446 SCROLL_RefreshScrollBar(hwndScroll,nBar,FALSE,TRUE); 1447 if (action & SA_SSI_REPAINT_ARROWS) 1448 SCROLL_RefreshScrollBar(hwndScroll,nBar,TRUE,FALSE); 1449 } 1449 1450 } 1450 1451 } … … 1540 1541 return infoPtr->CurVal; 1541 1542 } 1543 1544 // CB: functions to get 32bit SB_THUMBTRACK position, for internal use 1545 1546 BOOL IsScrollBarTracking(HWND hwnd,INT nBar) 1547 { 1548 HWND hwndScroll = SCROLL_GetScrollHandle(hwnd,nBar); 1549 1550 return (SCROLL_MovingThumb && SCROLL_TrackingWin == hwnd && SCROLL_TrackingBar == nBar); 1551 } 1552 1553 INT GetScrollTrackPos(HWND hwnd,INT nBar) 1554 { 1555 SCROLLBAR_INFO *infoPtr; 1556 1557 infoPtr = SCROLL_GetInfoPtr(SCROLL_GetScrollHandle(hwnd,nBar),nBar); 1558 if (!infoPtr) return 0; 1559 1560 return (SCROLL_MovingThumb && SCROLL_TrackingWin == hwnd && SCROLL_TrackingBar == nBar) ? SCROLL_TrackingVal:infoPtr->CurVal; 1561 } 1562 1542 1563 /************************************************************************* 1543 1564 * SetScrollRange (USER32.503)
Note:
See TracChangeset
for help on using the changeset viewer.