Ignore:
Timestamp:
Oct 30, 1999, 8:40:49 PM (26 years ago)
Author:
cbratschi
Message:

button, static, scroll and dialog fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/scroll.cpp

    r1511 r1525  
    1 /* $Id: scroll.cpp,v 1.16 1999-10-29 16:06:56 cbratschi Exp $ */
     1/* $Id: scroll.cpp,v 1.17 1999-10-30 18:40:45 cbratschi Exp $ */
    22/*
    33 * Scrollbar control
     
    99 *
    1010 * WINE version: 990923
     11 *
     12 * Status:  complete
     13 * Version: 5.00
    1114 */
    1215
     
    879882        if (msg == WM_LBUTTONUP)
    880883          KillSystemTimer(hwnd,SCROLL_TIMER);
    881         else if (msg == WM_LBUTTONDOWN || !timerRunning)
     884        else if (msg == WM_LBUTTONDOWN || (!timerRunning && msg == WM_SYSTIMER))
    882885        {
    883886          SetSystemTimer( hwnd, SCROLL_TIMER, (msg == WM_LBUTTONDOWN) ?
     
    900903        if (msg == WM_LBUTTONUP)
    901904          KillSystemTimer(hwnd,SCROLL_TIMER);
    902         else if (msg == WM_LBUTTONDOWN || !timerRunning)
     905        else if (msg == WM_LBUTTONDOWN || (!timerRunning && msg == WM_SYSTIMER))
    903906        {
    904907          SetSystemTimer( hwnd, SCROLL_TIMER, (msg == WM_LBUTTONDOWN) ?
     
    974977        if (msg == WM_LBUTTONUP)
    975978          KillSystemTimer(hwnd,SCROLL_TIMER);
    976         else if (msg == WM_LBUTTONDOWN || !timerRunning)
     979        else if (msg == WM_LBUTTONDOWN || (!timerRunning && msg == WM_SYSTIMER))
    977980        {
    978981          SetSystemTimer( hwnd, SCROLL_TIMER, (msg == WM_LBUTTONDOWN) ?
     
    9981001        if (msg == WM_LBUTTONUP)
    9991002          KillSystemTimer(hwnd,SCROLL_TIMER);
    1000         else if (msg == WM_LBUTTONDOWN || !timerRunning)
     1003        else if (msg == WM_LBUTTONDOWN || (!timerRunning && msg == WM_SYSTIMER))
    10011004        {
    10021005          SetSystemTimer( hwnd, SCROLL_TIMER, (msg == WM_LBUTTONDOWN) ?
     
    16061609    return TRUE;
    16071610}
     1611
    16081612/*************************************************************************
    16091613 *           EnableScrollBar   (USER32.171)
     
    16771681    }
    16781682  }
     1683
     1684  return TRUE;
     1685}
     1686
     1687//CB: not listed in user32.exp -> don't know the id!
     1688
     1689BOOL WINAPI GetScrollBarInfo(HWND hwnd,LONG idObject,PSCROLLBARINFO psbi)
     1690{
     1691  if (!psbi || psbi->cbSize != sizeof(SCROLLBARINFO))
     1692  {
     1693    SetLastError(ERROR_INVALID_PARAMETER);
     1694
     1695    return FALSE;
     1696  }
     1697
     1698  HWND hwndScroll;
     1699  INT nBar,arrowSize;
     1700
     1701  switch (idObject)
     1702  {
     1703    case OBJID_CLIENT:
     1704      nBar = SB_CTL;
     1705      hwndScroll = hwnd;
     1706      break;
     1707
     1708    case OBJID_HSCROLL:
     1709      nBar = SB_HORZ;
     1710      hwndScroll = SCROLL_GetScrollHandle(hwnd,SB_HORZ);
     1711      break;
     1712
     1713    case OBJID_VSCROLL:
     1714      nBar = SB_VERT;
     1715      hwndScroll = SCROLL_GetScrollHandle(hwnd,SB_VERT);
     1716      break;
     1717
     1718    default:
     1719      return FALSE;
     1720  }
     1721
     1722  if (!hwndScroll) return FALSE;
     1723
     1724  SCROLL_GetScrollBarRect(hwndScroll,nBar,&psbi->rcScrollBar,&arrowSize,&psbi->dxyLineButton,&psbi->xyThumbTop);
     1725  psbi->xyThumbBottom = psbi->xyThumbTop+psbi->dxyLineButton;
     1726  psbi->bogus = 0; //CB: undocumented!
     1727  psbi->rgstate[0] = IsWindowVisible(hwndScroll) ? STATE_SYSTEM_INVISIBLE:0;
     1728  psbi->rgstate[1] = psbi->rgstate[2] = psbi->rgstate[3] = psbi->rgstate[4] = psbi->rgstate[5] = psbi->rgstate[0]; //CB: todo
    16791729
    16801730  return TRUE;
Note: See TracChangeset for help on using the changeset viewer.