Changeset 1057 for trunk/src


Ignore:
Timestamp:
Sep 26, 1999, 12:10:02 PM (26 years ago)
Author:
sandervl
Message:

Scrollbar changes

Location:
trunk/src/user32
Files:
1 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/Makefile

    r1014 r1057  
    1 # $Id: Makefile,v 1.21 1999-09-23 10:33:59 sandervl Exp $
     1# $Id: Makefile,v 1.22 1999-09-26 10:09:59 sandervl Exp $
    22
    33#
     
    3333        combo.obj edit.obj clipboard.obj winicon.obj win32wmdiclient.obj \
    3434        oslibutil.obj oslibmsg.obj dib.obj oslibdos.obj win32wmdichild.obj \
    35         winprop.obj wingdi.obj oslibgdi.obj winaccel.obj winscrollbar.obj \
     35        winprop.obj wingdi.obj oslibgdi.obj winaccel.obj \
    3636        nativerc.obj oslibres.obj dummy.obj oslibmenu.obj dc.obj\
    3737        windlgmsg.obj windlg.obj win32wdesktop.obj
     
    8282button.obj: button.cpp $(PDWIN32_INCLUDE)\win\button.h
    8383static.obj: static.cpp $(PDWIN32_INCLUDE)\win\static.h
    84 scroll.obj: scroll.cpp $(PDWIN32_INCLUDE)\win\scroll.h
     84scroll.obj: scroll.cpp $(PDWIN32_INCLUDE)\win\scroll.h win32wbase.h
    8585listbox.obj: listbox.cpp $(PDWIN32_INCLUDE)\win\combo.h
    8686combo.obj: combo.cpp $(PDWIN32_INCLUDE)\win\combo.h
     
    9797windowword.obj:  windowword.cpp win32class.h win32wbase.h win32dlg.h win32wndchild.h
    9898winaccel.obj:     winaccel.cpp  $(PDWIN32_INCLUDE)\winres.h win32wbase.h
    99 winscrollbar.obj: winscrollbar.cpp win32wbase.h
    10099winicon.obj:    winicon.cpp $(PDWIN32_INCLUDE)\winicon.h win32wbase.h
    101100windlg.obj:    windlg.cpp win32wbase.h win32dlg.h
  • trunk/src/user32/dc.cpp

    r1042 r1057  
    1 /* $Id: dc.cpp,v 1.4 1999-09-25 14:15:36 sandervl Exp $ */
     1/* $Id: dc.cpp,v 1.5 1999-09-26 10:09:58 sandervl Exp $ */
    22
    33/*
     
    12871287   return (result);
    12881288}
    1289 
    12901289//******************************************************************************
    12911290//******************************************************************************
    1292 
     1291BOOL WIN32API ScrollWindow(HWND hwnd, int dx, int dy, const RECT *pScroll, const RECT *pClip)
     1292{
     1293 Win32BaseWindow *window;
     1294 APIRET  rc;
     1295 RECTL   clientRect;
     1296 RECTL   scrollRect;
     1297 RECTL   clipRect;
     1298 PRECTL  pScrollRect = NULL;
     1299 PRECTL  pClipRect   = NULL;
     1300 ULONG   scrollFlags = 0;
     1301
     1302    window = Win32BaseWindow::GetWindowFromHandle(hwnd);
     1303    if(!window) {
     1304        dprintf(("ScrollWindow, window %x not found", hwnd));
     1305        return 0;
     1306    }
     1307    dprintf(("ScrollWindow %x %d %d\n", hwnd, dx, dy));
     1308    MapWin32ToOS2Rectl(window->getClientRect(), (PRECTLOS2)&clientRect);
     1309    if(pScroll) {
     1310         MapWin32ToOS2Rectl((RECT *)pScroll, (PRECTLOS2)&scrollRect);
     1311         pScrollRect = &scrollRect;
     1312
     1313         //Scroll rectangle relative to client area
     1314         pScrollRect->xLeft   += clientRect.xLeft;
     1315         pScrollRect->xRight  += clientRect.xLeft;
     1316         pScrollRect->yTop    += clientRect.yBottom;
     1317         pScrollRect->yBottom += clientRect.yBottom;
     1318         WinIntersectRect ((HAB) 0, pScrollRect, pScrollRect, &clientRect);
     1319    }
     1320    else scrollFlags |= SW_SCROLLCHILDREN;
     1321
     1322    if(pClip) {
     1323         MapWin32ToOS2Rectl((RECT *)pClip, (PRECTLOS2)&clipRect);
     1324         pClipRect = &clipRect;
     1325
     1326         //Clip rectangle relative to client area
     1327         pClipRect->xLeft     += clientRect.xLeft;
     1328         pClipRect->xRight    += clientRect.xLeft;
     1329         pClipRect->yTop      += clientRect.yBottom;
     1330         pClipRect->yBottom   += clientRect.yBottom;
     1331         WinIntersectRect ((HAB) 0, pClipRect, pClipRect, &clientRect);
     1332    }
     1333
     1334    dy = -dy; //always correct?
     1335
     1336    rc = WinScrollWindow(window->getOS2WindowHandle(), dx, dy,
     1337                         pScrollRect, pClipRect, NULLHANDLE,
     1338                         NULL, scrollFlags);
     1339
     1340    return (rc != RGN_ERROR);
     1341}
     1342//******************************************************************************
     1343//TODO: Implement this one
     1344//******************************************************************************
     1345INT WIN32API ScrollWindowEx(HWND hwnd, int dx, int dy, const RECT *pScroll, const RECT *pClip,
     1346                            HRGN hrgnUpdate, PRECT pRectUpdate, UINT scrollFlag)
     1347{
     1348    dprintf(("USER32:  ScrollWindowEx NOT CORRECTLY IMPLEMENTED\n"));
     1349    return ScrollWindow(hwnd, dx, dy, pScroll, pClip);
     1350}
     1351//******************************************************************************
     1352//******************************************************************************
  • trunk/src/user32/oslibgdi.cpp

    r949 r1057  
    1 /* $Id: oslibgdi.cpp,v 1.1 1999-09-15 23:18:53 sandervl Exp $ */
     1/* $Id: oslibgdi.cpp,v 1.2 1999-09-26 10:09:59 sandervl Exp $ */
    22/*
    33 * Window GDI wrapper functions for OS/2
     
    127127BOOL MapWin32ToOS2Rectl(PRECT rectWin32, PRECTLOS2 rectOS2)
    128128{
    129  ULONG length = rectWin32->top - rectWin32->bottom;
     129 ULONG length = rectWin32->bottom - rectWin32->top;
    130130
    131131    rectOS2->yBottom = length - rectWin32->bottom;
  • trunk/src/user32/oslibwin.cpp

    r1055 r1057  
    1 /* $Id: oslibwin.cpp,v 1.8 1999-09-25 19:11:18 sandervl Exp $ */
     1/* $Id: oslibwin.cpp,v 1.9 1999-09-26 10:09:59 sandervl Exp $ */
    22/*
    33 * Window API wrappers for OS/2
     
    138138    if(dwStyle & WS_HSCROLL_W)
    139139          *OSFrameStyle |= FCF_HORZSCROLL;
     140
    140141    if(dwStyle & WS_SYSMENU_W)
    141142          *OSFrameStyle |= FCF_SYSMENU;
     
    676677//******************************************************************************
    677678//******************************************************************************
     679BOOL OSLibWinEnableScrollBar(HWND hwndParent, int scrollBar, BOOL fEnable)
     680{
     681 HWND hwndScroll;
     682
     683   if(scrollBar == OSLIB_VSCROLL) {
     684        hwndScroll = WinWindowFromID(hwndParent, FID_VERTSCROLL);
     685   }
     686   else hwndScroll = WinWindowFromID(hwndParent, FID_HORZSCROLL);
     687
     688   if(hwndScroll == NULL)
     689        return FALSE;
     690
     691   return WinEnableWindow(hwndScroll, fEnable);
     692}
     693//******************************************************************************
     694//******************************************************************************
     695BOOL OSLibWinShowScrollBar(HWND hwndParent, int scrollBar, BOOL fShow)
     696{
     697 HWND hwndScroll;
     698
     699   if(scrollBar == OSLIB_VSCROLL) {
     700        hwndScroll = WinWindowFromID(hwndParent, FID_VERTSCROLL);
     701   }
     702   else hwndScroll = WinWindowFromID(hwndParent, FID_HORZSCROLL);
     703
     704   if(hwndScroll == NULL)
     705        return FALSE;
     706
     707   if(fShow != WinIsWindowVisible(hwndScroll)) {
     708        WinShowWindow(hwndScroll, fShow);
     709   }
     710   return TRUE;   
     711}
     712//******************************************************************************
     713//******************************************************************************
     714void OSLibTranslateScrollCmdAndMsg(ULONG *msg, ULONG *scrollcmd)
     715{
     716    switch(*scrollcmd)
     717    {
     718        case SB_LINEUP:
     719               *scrollcmd = SB_LINEUP_W;
     720               break;
     721        case SB_LINEDOWN:
     722               *scrollcmd = SB_LINEDOWN_W;
     723               break;
     724        case SB_PAGEUP:
     725               *scrollcmd = SB_PAGEUP_W;
     726               break;
     727        case SB_PAGEDOWN:
     728               *scrollcmd = SB_PAGEDOWN_W;
     729               break;
     730        case SB_SLIDERTRACK:
     731               *scrollcmd = SB_THUMBTRACK_W;
     732               break;
     733        case SB_SLIDERPOSITION:
     734               *scrollcmd = SB_THUMBPOSITION_W;
     735               break;
     736        case SB_ENDSCROLL:
     737               *scrollcmd = SB_ENDSCROLL_W;
     738               break;
     739    }
     740    *msg = (*msg == WM_HSCROLL) ? WM_HSCROLL_W : WM_VSCROLL_W;
     741    return;
     742}
     743//******************************************************************************
     744//******************************************************************************
  • trunk/src/user32/oslibwin.h

    r1039 r1057  
    1 /* $Id: oslibwin.h,v 1.4 1999-09-25 09:27:07 dengert Exp $ */
     1/* $Id: oslibwin.h,v 1.5 1999-09-26 10:09:59 sandervl Exp $ */
    22/*
    33 * Window API wrappers for OS/2
     
    242242BOOL  OSLibWinMapWindowPoints (HWND hwndFrom, HWND hwndTo, OSLIBPOINT *pptl, ULONG num);
    243243
     244#define OSLIB_HSCROLL   0
     245#define OSLIB_VSCROLL   1
     246BOOL  OSLibWinEnableScrollBar(HWND hwndParent, int scrollBar, BOOL fEnable);
     247BOOL  OSLibWinShowScrollBar(HWND hwndParent, int scrollBar, BOOL fShow);
     248void  OSLibTranslateScrollCmdAndMsg(ULONG *msg, ULONG *scrollcmd);
     249
    244250#endif //__OSLIBWIN_H__
  • trunk/src/user32/pmwindow.cpp

    r1051 r1057  
    1 /* $Id: pmwindow.cpp,v 1.8 1999-09-25 17:34:36 sandervl Exp $ */
     1/* $Id: pmwindow.cpp,v 1.9 1999-09-26 10:09:59 sandervl Exp $ */
    22/*
    33 * Win32 Window Managment Code for OS/2
     
    482482    case WM_VSCROLL:
    483483    case WM_HSCROLL:
     484    {
     485     ULONG scrollPos, scrollCode, scrollMsg;
     486
     487        scrollCode = SHORT2FROMMP(mp2);
     488        scrollPos  = SHORT1FROMMP(mp2);
     489        scrollMsg  = msg;
     490
     491        OSLibTranslateScrollCmdAndMsg(&scrollMsg, &scrollCode);
     492
     493        if(win32wnd->MsgScroll(scrollMsg, scrollCode, scrollPos)) {
     494            goto RunDefWndProc;
     495        }
     496        break;
     497    }
    484498
    485499    case WM_CONTROL:
  • trunk/src/user32/scroll.cpp

    r949 r1057  
    1 /* $Id: scroll.cpp,v 1.1 1999-09-15 23:18:55 sandervl Exp $ */
     1/* $Id: scroll.cpp,v 1.2 1999-09-26 10:10:00 sandervl Exp $ */
    22/*
    33 * Scrollbar control
     
    1717
    1818#include <stdlib.h>
    19 #include "winuser.h"
    20 #include "winbase.h"
     19#include <os2win.h>
    2120#include "controls.h"
    2221#include "scroll.h"
     22#include "win32wbase.h"
     23#include "oslibwin.h"
    2324
    2425static HBITMAP hUpArrow = 0;
     
    9899                                   const SCROLLINFO *info, INT *action );
    99100static void SCROLL_DrawInterior_9x( HWND hwnd, HDC hdc, INT nBar,
    100                                     RECT *rect, INT arrowSize,
    101                                     INT thumbSize, INT thumbPos,
    102                                     UINT flags, BOOL vertical,
    103                                     BOOL top_selected, BOOL bottom_selected );
     101                    RECT *rect, INT arrowSize,
     102                    INT thumbSize, INT thumbPos,
     103                    UINT flags, BOOL vertical,
     104                    BOOL top_selected, BOOL bottom_selected );
    104105
    105106/***********************************************************************
     
    402403
    403404  DrawFrameControl( hdc, &r, DFC_SCROLL,
    404                     (vertical ? DFCS_SCROLLUP : DFCS_SCROLLLEFT)
    405                     | (top_pressed ? (DFCS_PUSHED | DFCS_FLAT) : 0 )
    406                     | (infoPtr->flags&ESB_DISABLE_LTUP ? DFCS_INACTIVE : 0 ) );
     405            (vertical ? DFCS_SCROLLUP : DFCS_SCROLLLEFT)
     406            | (top_pressed ? (DFCS_PUSHED | DFCS_FLAT) : 0 )
     407            | (infoPtr->flags&ESB_DISABLE_LTUP ? DFCS_INACTIVE : 0 ) );
    407408
    408409  r = *rect;
     
    413414
    414415  DrawFrameControl( hdc, &r, DFC_SCROLL,
    415                     (vertical ? DFCS_SCROLLDOWN : DFCS_SCROLLRIGHT)
    416                     | (bottom_pressed ? (DFCS_PUSHED | DFCS_FLAT) : 0 )
    417                     | (infoPtr->flags&ESB_DISABLE_RTDN ? DFCS_INACTIVE : 0) );
    418 }
    419 
     416            (vertical ? DFCS_SCROLLDOWN : DFCS_SCROLLRIGHT)
     417            | (bottom_pressed ? (DFCS_PUSHED | DFCS_FLAT) : 0 )
     418            | (infoPtr->flags&ESB_DISABLE_RTDN ? DFCS_INACTIVE : 0) );
     419}
     420//******************************************************************************
     421//******************************************************************************
    420422static void SCROLL_DrawArrows( HDC hdc, SCROLLBAR_INFO *infoPtr,
    421                                RECT *rect, INT arrowSize, BOOL vertical,
    422                                BOOL top_pressed, BOOL bottom_pressed )
     423                   RECT *rect, INT arrowSize, BOOL vertical,
     424                   BOOL top_pressed, BOOL bottom_pressed )
    423425{
    424426  SCROLL_DrawArrows_9x( hdc, infoPtr, rect, arrowSize,
     
    433435 */
    434436static void SCROLL_DrawMovingThumb_9x( HDC hdc, RECT *rect, BOOL vertical,
    435                                        INT arrowSize, INT thumbSize )
     437                       INT arrowSize, INT thumbSize )
    436438{
    437439  INT pos = SCROLL_TrackingPos;
     
    451453
    452454  SCROLL_DrawInterior_9x( SCROLL_TrackingWin, hdc, SCROLL_TrackingBar,
    453                           rect, arrowSize, thumbSize, pos,
    454                           0, vertical, FALSE, FALSE );
    455                        
     455              rect, arrowSize, thumbSize, pos,
     456              0, vertical, FALSE, FALSE );
     457
    456458  SCROLL_MovingThumb = !SCROLL_MovingThumb;
    457459}
    458 
     460//******************************************************************************
     461//******************************************************************************
    459462static void SCROLL_DrawMovingThumb( HDC hdc, RECT *rect, BOOL vertical,
    460                                     INT arrowSize, INT thumbSize )
     463                    INT arrowSize, INT thumbSize )
    461464{
    462465  SCROLL_DrawMovingThumb_9x( hdc, rect, vertical, arrowSize, thumbSize );
    463466}
    464 
    465467/***********************************************************************
    466468 *           SCROLL_DrawInterior
     
    469471 */
    470472static void SCROLL_DrawInterior_9x( HWND hwnd, HDC hdc, INT nBar,
    471                                     RECT *rect, INT arrowSize,
    472                                     INT thumbSize, INT thumbPos,
    473                                     UINT flags, BOOL vertical,
    474                                     BOOL top_selected, BOOL bottom_selected )
     473                    RECT *rect, INT arrowSize,
     474                    INT thumbSize, INT thumbPos,
     475                    UINT flags, BOOL vertical,
     476                    BOOL top_selected, BOOL bottom_selected )
    475477{
    476478    RECT r;
     
    485487    {
    486488      hBrush = (HBRUSH)SendMessageA( GetParent(hwnd), WM_CTLCOLORSCROLLBAR,
    487                                      (WPARAM)hdc,(LPARAM)hwnd);
     489                     (WPARAM)hdc,(LPARAM)hwnd);
    488490    }
    489491    else
     
    556558    SelectObject( hdc, hSaveBrush );
    557559}
    558 
    559 
     560//******************************************************************************
     561//******************************************************************************
    560562static void SCROLL_DrawInterior( HWND hwnd, HDC hdc, INT nBar,
    561563                                 RECT *rect, INT arrowSize,
     
    607609      /* Draw the scroll bar frame */
    608610
    609         /* Only draw outline if Win 3.1.  Mar 24, 1999 - Ronald B. Cemer */
     611    /* Only draw outline if Win 3.1.  Mar 24, 1999 - Ronald B. Cemer */
    610612
    611613      /* Draw the scroll rectangles and thumb */
     
    673675    SelectObject( hdc, hSaveBrush );
    674676}
    675 
    676677/***********************************************************************
    677678 *           SCROLL_DrawScrollBar
     
    724725
    725726}
    726 
    727 
    728727/***********************************************************************
    729728 *           SCROLL_RefreshScrollBar
     
    742741    ReleaseDC( hwnd, hdc );
    743742}
    744 
    745 
    746743/***********************************************************************
    747744 *           SCROLL_HandleKbdEvent
     
    769766                    msg, hwnd );
    770767}
    771 
    772 
    773768/***********************************************************************
    774769 *           SCROLL_HandleScrollEvent
     
    985980    ReleaseDC( hwnd, hdc );
    986981}
    987 
    988 
    989982/***********************************************************************
    990983 *           ScrollBarWndProc
     
    11241117 *  the text), and info->nPage=25.
    11251118 */
    1126 /* CB:
    1127 
    11281119INT WINAPI SetScrollInfo(
    1129 HWND hwnd / * [I] Handle of window whose scrollbar will be affected * /,
    1130 INT nBar / * [I] One of SB_HORZ, SB_VERT, or SB_CTL * /,
    1131 const SCROLLINFO *info / * [I] Specifies what to change and new values * /,
    1132 BOOL bRedraw / * [I] Should scrollbar be redrawn afterwards ? * /)
     1120                HWND hwnd /* [I] Handle of window whose scrollbar will be affected */,
     1121                INT nBar /* [I] One of SB_HORZ, SB_VERT, or SB_CTL */,
     1122                const SCROLLINFO *info /* [I] Specifies what to change and new values */,
     1123                BOOL bRedraw /* [I] Should scrollbar be redrawn afterwards ? */)
    11331124{
    11341125    INT action;
     
    11411132        if( action & SA_SSI_SHOW )
    11421133            if( SCROLL_ShowScrollBar( hwnd, nBar, TRUE, TRUE ) )
    1143                 return retVal; / * SetWindowPos() already did the painting * /
     1134                return retVal; /* SetWindowPos() already did the painting */
    11441135
    11451136        if( bRedraw && (action & SA_SSI_REFRESH))
     
    11491140    }
    11501141    return retVal;
    1151 } */
    1152 
     1142}
     1143//******************************************************************************
     1144//******************************************************************************
    11531145INT SCROLL_SetScrollInfo( HWND hwnd, INT nBar,
    11541146                            const SCROLLINFO *info, INT *action  )
     
    12761268    return infoPtr->CurVal;
    12771269}
    1278 
    1279 
    12801270/*************************************************************************
    12811271 *           GetScrollInfo32   (USER32.284)
     
    12851275 * RETURNS STD
    12861276 */
    1287 /* CB:
    12881277BOOL WINAPI GetScrollInfo(
    1289   HWND hwnd / * [I] Handle of window * / ,
    1290   INT nBar / * [I] One of SB_HORZ, SB_VERT, or SB_CTL * /,
    1291   LPSCROLLINFO info / * [IO] (info.fMask [I] specifies which values are to retrieve) * /)
     1278                HWND hwnd /* [I] Handle of window */ ,
     1279                INT nBar /* [I] One of SB_HORZ, SB_VERT, or SB_CTL */,
     1280                LPSCROLLINFO info /* [IO] (info.fMask [I] specifies which values are to retrieve) */)
    12921281{
    12931282    SCROLLBAR_INFO *infoPtr;
     
    13081297    }
    13091298    return (info->fMask & SIF_ALL) != 0;
    1310 } */
    1311 
    1312 
     1299}
    13131300/*************************************************************************
    13141301 *           SetScrollPos32   (USER32.502)
     
    13221309 *    to make sure there was an error (and to know which one).
    13231310 */
    1324 /* CB:
    13251311INT WINAPI SetScrollPos(
    1326 HWND hwnd / * [I] Handle of window whose scrollbar will be affected * /,
    1327 INT nBar / * [I] One of SB_HORZ, SB_VERT, or SB_CTL * /,
    1328 INT nPos / * [I] New value * /,
    1329 BOOL bRedraw / * [I] Should scrollbar be redrawn afterwards ? * / )
     1312                HWND hwnd /* [I] Handle of window whose scrollbar will be affected */,
     1313                INT nBar /* [I] One of SB_HORZ, SB_VERT, or SB_CTL */,
     1314                INT nPos /* [I] New value */,
     1315                BOOL bRedraw /* [I] Should scrollbar be redrawn afterwards ? */ )
    13301316{
    13311317    SCROLLINFO info;
     
    13401326    SetScrollInfo( hwnd, nBar, &info, bRedraw );
    13411327    return oldPos;
    1342 } */
    1343 
    1344 
     1328}
    13451329/*************************************************************************
    13461330 *           GetScrollPos32   (USER32.285)
     
    13541338 *    to make sure there was an error (and to know which one).
    13551339 */
    1356 /* CB:
    13571340INT WINAPI GetScrollPos(
    1358 HWND hwnd, / * [I] Handle of window * /
    1359 INT nBar / * [I] One of SB_HORZ, SB_VERT, or SB_CTL * /)
     1341                HWND hwnd, /* [I] Handle of window */
     1342                INT nBar /* [I] One of SB_HORZ, SB_VERT, or SB_CTL */)
    13601343{
    13611344    SCROLLBAR_INFO *infoPtr;
     
    13631346    if (!(infoPtr = SCROLL_GetScrollInfo( hwnd, nBar ))) return 0;
    13641347    return infoPtr->CurVal;
    1365 } */
    1366 
    1367 
     1348}
    13681349/*************************************************************************
    13691350 *           SetScrollRange32   (USER32.503)
     
    13711352 * RETURNS STD
    13721353 */
    1373 /* CB:
    13741354BOOL WINAPI SetScrollRange(
    1375 HWND hwnd, / * [I] Handle of window whose scrollbar will be affected * /
    1376 INT nBar, / * [I] One of SB_HORZ, SB_VERT, or SB_CTL * /
    1377 INT MinVal, / * [I] New minimum value * /
    1378 INT MaxVal, / * [I] New maximum value * /
    1379 BOOL bRedraw / * [I] Should scrollbar be redrawn afterwards ? * /)
     1355                HWND hwnd,   /* [I] Handle of window whose scrollbar will be affected */
     1356                INT nBar,    /* [I] One of SB_HORZ, SB_VERT, or SB_CTL */
     1357                INT MinVal,  /* [I] New minimum value */
     1358                INT MaxVal,  /* [I] New maximum value */
     1359                BOOL bRedraw /* [I] Should scrollbar be redrawn afterwards ? */)
    13801360{
    13811361    SCROLLINFO info;
     
    13871367    SetScrollInfo( hwnd, nBar, &info, bRedraw );
    13881368    return TRUE;
    1389 } */
    1390 
    1391 
     1369}
    13921370/*************************************************************************
    13931371 *           SCROLL_SetNCSbState
     
    14291407 * RETURNS STD
    14301408 */
    1431 /* CB:
    14321409BOOL WINAPI GetScrollRange(
    1433 HWND hwnd, / * [I] Handle of window * /
    1434 INT nBar, / * [I] One of SB_HORZ, SB_VERT, or SB_CTL  * /
    1435 LPINT lpMin, / * [O] Where to store minimum value * /
    1436 LPINT lpMax / * [O] Where to store maximum value * /)
     1410                HWND hwnd,   /* [I] Handle of window */
     1411                INT nBar,    /* [I] One of SB_HORZ, SB_VERT, or SB_CTL  */
     1412                LPINT lpMin, /* [O] Where to store minimum value */
     1413                LPINT lpMax  /* [O] Where to store maximum value */)
    14371414{
    14381415    SCROLLBAR_INFO *infoPtr;
     
    14471424    if (lpMax) *lpMax = infoPtr->MaxVal;
    14481425    return TRUE;
    1449 }*/
    1450 
    1451 
     1426}
    14521427/*************************************************************************
    14531428 *           SCROLL_ShowScrollBar()
     
    14561431 * NOTE: fShowV/fShowH must be zero when nBar is SB_HORZ/SB_VERT.
    14571432 */
    1458 BOOL SCROLL_ShowScrollBar( HWND hwnd, INT nBar,
    1459                              BOOL fShowH, BOOL fShowV )
     1433BOOL SCROLL_ShowScrollBar(HWND hwnd, INT nBar,
     1434                          BOOL fShowH, BOOL fShowV )
    14601435{
    14611436    BOOL retvalue = FALSE;
     
    15311506 * RETURNS STD
    15321507 */
    1533 /* CB:
    15341508BOOL WINAPI ShowScrollBar(
    1535 HWND hwnd, / * [I] Handle of window whose scrollbar(s) will be affected   * /
    1536 INT nBar, / * [I] One of SB_HORZ, SB_VERT, SB_BOTH or SB_CTL * /
    1537 BOOL fShow / * [I] TRUE = show, FALSE = hide  * /)
    1538 {
     1509                    HWND hwnd,  /* [I] Handle of window whose scrollbar(s) will be affected   */
     1510                    INT nBar,   /* [I] One of SB_HORZ, SB_VERT, SB_BOTH or SB_CTL */
     1511                    BOOL fShow  /* [I] TRUE = show, FALSE = hide  */)
     1512{
     1513  Win32BaseWindow *window;
     1514
     1515    dprintf(("ShowScrollBar %04x %d %d\n", hwnd, nBar, fShow));
     1516
     1517    window = Win32BaseWindow::GetWindowFromHandle(hwnd);
     1518    if(!window) {
     1519        dprintf(("ShowScrollBar window not found!"));
     1520        SetLastError(ERROR_INVALID_HANDLE);
     1521        return 0;
     1522    }
     1523    if(nBar != SB_CTL || (window->getStyle() & (WM_HSCROLL|WM_VSCROLL) != 0))
     1524    {
     1525     BOOL rc;
     1526
     1527        if(nBar == SB_HORZ || nBar == SB_BOTH)
     1528            rc = OSLibWinShowScrollBar(window->getOS2FrameWindowHandle(), OSLIB_HSCROLL, fShow);
     1529
     1530        if(nBar == SB_VERT || ( rc == TRUE && nBar == SB_BOTH))
     1531            rc = OSLibWinShowScrollBar(window->getOS2FrameWindowHandle(), OSLIB_VSCROLL, fShow);
     1532
     1533        return rc;
     1534    }
     1535
    15391536    SCROLL_ShowScrollBar( hwnd, nBar, (nBar == SB_VERT) ? 0 : fShow,
    15401537                                      (nBar == SB_HORZ) ? 0 : fShow );
    15411538    return TRUE;
    1542 }*/
    1543 
    1544 
     1539}
    15451540/*************************************************************************
    15461541 *           EnableScrollBar32   (USER32.171)
    15471542 */
    1548 /* CB_
    1549 BOOL WINAPI EnableScrollBar( HWND hwnd, INT nBar, UINT flags )
    1550 {
    1551     BOOL bFineWithMe;
    1552     SCROLLBAR_INFO *infoPtr;
    1553 
    1554     //TRACE("%04x %d %d\n", hwnd, nBar, flags );
    1555 
     1543BOOL WINAPI EnableScrollBar( HWND hwnd, INT nBar, UINT flags)
     1544{
     1545  Win32BaseWindow *window;
     1546  BOOL bFineWithMe;
     1547  SCROLLBAR_INFO *infoPtr;
     1548
     1549    dprintf(("EnableScrollBar %04x %d %d\n", hwnd, nBar, flags));
     1550
     1551    window = Win32BaseWindow::GetWindowFromHandle(hwnd);
     1552    if(!window) {
     1553        dprintf(("EnableScrollBar window not found!"));
     1554        SetLastError(ERROR_INVALID_HANDLE);
     1555        return 0;
     1556    }
     1557    if(nBar != SB_CTL || (window->getStyle() & (WM_HSCROLL|WM_VSCROLL) != 0))
     1558    {
     1559     BOOL fEnable, rc;
     1560
     1561        //hwnd = parent window with default scrollbar(s)
     1562        switch(flags) {
     1563        case ESB_ENABLE_BOTH:
     1564            fEnable = TRUE;
     1565            break;
     1566        case ESB_DISABLE_BOTH:
     1567        case ESB_DISABLE_RTDN:
     1568        case ESB_DISABLE_LTUP:
     1569            fEnable = FALSE;
     1570            break;
     1571        default:
     1572            SetLastError(ERROR_INVALID_PARAMETER);
     1573            return 0;
     1574        }
     1575        if(nBar == SB_HORZ || nBar == SB_BOTH)
     1576            rc = OSLibWinEnableScrollBar(window->getOS2FrameWindowHandle(), OSLIB_HSCROLL, fEnable);
     1577
     1578        if(nBar == SB_VERT || ( rc == TRUE && nBar == SB_BOTH))
     1579            rc = OSLibWinEnableScrollBar(window->getOS2FrameWindowHandle(), OSLIB_VSCROLL, fEnable);
     1580
     1581        return rc;
     1582    }
    15561583    flags &= ESB_DISABLE_BOTH;
    15571584
     
    15751602    SCROLL_RefreshScrollBar( hwnd, nBar, TRUE, TRUE );
    15761603    return TRUE;
    1577 }*/
    1578 
     1604}
     1605//******************************************************************************
     1606//******************************************************************************
    15791607BOOL SCROLLBAR_Register()
    15801608{
     
    15941622    return RegisterClassA(&wndClass);
    15951623}
    1596 
    1597 
     1624//******************************************************************************
     1625//******************************************************************************
    15981626BOOL SCROLLBAR_Unregister()
    15991627{
     
    16021630    else return FALSE;
    16031631}
     1632//******************************************************************************
     1633//******************************************************************************
     1634
  • trunk/src/user32/user32.cpp

    r1042 r1057  
    1 /* $Id: user32.cpp,v 1.31 1999-09-25 14:18:11 sandervl Exp $ */
     1/* $Id: user32.cpp,v 1.32 1999-09-26 10:10:00 sandervl Exp $ */
    22
    33/*
     
    475475  return(rc);
    476476}
    477 
     477//******************************************************************************
     478//******************************************************************************
    478479/* Caret Functions */
    479480
  • trunk/src/user32/win32wbase.cpp

    r1050 r1057  
    1 /* $Id: win32wbase.cpp,v 1.13 1999-09-25 16:49:30 cbratschi Exp $ */
     1/* $Id: win32wbase.cpp,v 1.14 1999-09-26 10:10:01 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    825825  // TODO: call TIMERPROC if not NULL
    826826  return SendInternalMessageA(WM_TIMER, TimerID, 0);
     827}
     828//******************************************************************************
     829//******************************************************************************
     830ULONG Win32BaseWindow::MsgScroll(ULONG msg, ULONG scrollCode, ULONG scrollPos)
     831{
     832  //According to the SDK docs, the scrollbar handle (lParam) is 0 when the standard
     833  //window scrollbars send these messages
     834  return SendInternalMessageA(msg, MAKELONG(scrollCode, scrollPos), 0);
    827835}
    828836//******************************************************************************
  • trunk/src/user32/win32wbase.h

    r1031 r1057  
    1 /* $Id: win32wbase.h,v 1.6 1999-09-24 12:47:51 sandervl Exp $ */
     1/* $Id: win32wbase.h,v 1.7 1999-09-26 10:10:01 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    7575         ULONG  MsgKillFocus(HWND hwnd);
    7676         ULONG  MsgTimer(ULONG TimerID);
     77         ULONG  MsgScroll(ULONG msg, ULONG scrollCode, ULONG scrollPos);
    7778         ULONG  MsgCommand(ULONG cmd, ULONG Id, HWND hwnd);
    7879         ULONG  MsgSysCommand(ULONG win32sc, ULONG x, ULONG y);
Note: See TracChangeset for help on using the changeset viewer.