Ignore:
Timestamp:
Nov 10, 1999, 6:11:31 PM (26 years ago)
Author:
cbratschi
Message:

ShowScrollBar fix

File:
1 edited

Legend:

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

    r1671 r1693  
    1 /* $Id: win32wbase.cpp,v 1.78 1999-11-09 19:23:17 sandervl Exp $ */
     1/* $Id: win32wbase.cpp,v 1.79 1999-11-10 17:11:30 cbratschi Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    9797  fFirstShow = FALSE;
    9898
     99  SetLastError(0);
     100
    99101  //CB: replace by a secure method
    100102
     
    595597  OSLibWinSetOwner(OS2Hwnd, OS2HwndFrame);
    596598
    597   if (dwStyle & WS_HSCROLL)
    598     hwndHorzScroll = OSLibWinQueryScrollBarHandle(OS2HwndFrame, OSLIB_HSCROLL);
    599 
    600   if (dwStyle & WS_VSCROLL)
    601     hwndVertScroll = OSLibWinQueryScrollBarHandle(OS2HwndFrame, OSLIB_VSCROLL);
    602 
     599  FrameGetScrollBarHandles(this,dwStyle & WS_HSCROLL,dwStyle & WS_VSCROLL);
    603600  subclassScrollBars(dwStyle & WS_HSCROLL,dwStyle & WS_VSCROLL);
    604601
     
    12911288  SCROLL_SubclassScrollBars(subHorz ? hwndHorzScroll:0,subVert ? hwndVertScroll:0);
    12921289}
     1290//******************************************************************************
     1291//******************************************************************************
     1292BOOL Win32BaseWindow::showScrollBars(BOOL changeHorz,BOOL changeVert,BOOL fShow)
     1293{
     1294  BOOL rc = TRUE;
     1295  DWORD flags = 0;
     1296
     1297  if (fShow)
     1298  {
     1299    BOOL createHorz = FALSE,createVert = FALSE;
     1300    BOOL showHorz = FALSE,showVert = FALSE;
     1301
     1302    if (changeHorz)
     1303    {
     1304      if (!hwndHorzScroll)
     1305        createHorz = TRUE;
     1306      else
     1307        showHorz = TRUE;
     1308    }
     1309
     1310    if (changeVert)
     1311    {
     1312      if (!hwndVertScroll)
     1313        createVert = TRUE;
     1314      else
     1315        showVert = TRUE;
     1316    }
     1317
     1318    if (createHorz || createVert)
     1319    {
     1320      if (createHorz && !horzScrollInfo)
     1321      {
     1322        horzScrollInfo = (SCROLLBAR_INFO*)malloc(sizeof(SCROLLBAR_INFO));
     1323        horzScrollInfo->MinVal = horzScrollInfo->CurVal = horzScrollInfo->Page = 0;
     1324        horzScrollInfo->MaxVal = 100;
     1325        horzScrollInfo->flags  = ESB_ENABLE_BOTH;
     1326        dwStyle |= WS_HSCROLL;
     1327      }
     1328
     1329      if (createVert && !vertScrollInfo)
     1330      {
     1331        vertScrollInfo = (SCROLLBAR_INFO*)malloc(sizeof(SCROLLBAR_INFO));
     1332        vertScrollInfo->MinVal = vertScrollInfo->CurVal = vertScrollInfo->Page = 0;
     1333        vertScrollInfo->MaxVal = 100;
     1334        vertScrollInfo->flags  = ESB_ENABLE_BOTH;
     1335        dwStyle |= WS_VSCROLL;
     1336      }
     1337
     1338      rc = FrameCreateScrollBars(this,createHorz,createVert,FALSE,&flags);
     1339
     1340      if (!rc) return FALSE;
     1341      if (createHorz) dwStyle |= WS_HSCROLL;
     1342      if (createVert) dwStyle |= WS_VSCROLL;
     1343    }
     1344
     1345    if (showVert || showHorz)
     1346    {
     1347      DWORD newFlags;
     1348      rc = FrameShowScrollBars(this,showHorz,showVert,fShow,FALSE,&newFlags);
     1349      flags |= newFlags;
     1350      if (rc)
     1351      {
     1352        if (showHorz) dwStyle |= WS_HSCROLL;
     1353        if (showVert) dwStyle |= WS_VSCROLL;
     1354      }
     1355    }
     1356
     1357    if (flags) FrameUpdateFrame(this,flags);
     1358  } else
     1359  {
     1360    rc = FrameShowScrollBars(this,changeHorz && hwndHorzScroll,changeVert && hwndVertScroll,fShow,TRUE);
     1361
     1362    if (rc)
     1363    {
     1364      if (changeHorz) dwStyle &= ~WS_HSCROLL;
     1365      if (changeVert) dwStyle &= ~WS_VSCROLL;
     1366    }
     1367  }
     1368
     1369  return rc;
     1370}
    12931371/***********************************************************************
    12941372 *           NC_HandleSysCommand
Note: See TracChangeset for help on using the changeset viewer.