Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/**************************** Module Header ********************************\
* Module Name: * * Copyright (c) 1985 - 1999, Microsoft Corporation * * Scroll bar public APIs * * History: * 11/21/90 JimA Created. * 01-31-91 IanJa Revalidaion added \***************************************************************************/
#include "precomp.h"
#pragma hdrstop
/***************************************************************************\
* xxxShowScrollBar * * Shows and hides standard scroll bars or scroll bar controls. If wBar is * SB_HORZ, SB_VERT, or SB_BOTH, pwnd is assumed to be the handle of the window * which has the standard scroll bars as styles. If wBar is SB_CTL, pwnd is * assumed to be the handle of the scroll bar control. * * It does not destroy pwnd->rgwScroll like xxxSetScrollBar() does, so that the * app can hide a standard scroll bar and then show it, without having to reset * the range and thumbposition. * * History: * 16-May-1991 mikeke Changed to return BOOL \***************************************************************************/
BOOL xxxShowScrollBar( PWND pwnd, UINT wBar, /* SB_HORZ, SB_VERT, SB_BOTH , SB_CTL */ BOOL fShow) /* Show or Hide. */ { BOOL fChanged = FALSE; DWORD dwStyle;
CheckLock(pwnd);
switch (wBar) { case SB_CTL: {
xxxShowWindow( pwnd, (fShow ? SHOW_OPENWINDOW : HIDE_WINDOW) | TEST_PUDF(PUDF_ANIMATE));
return(TRUE); }
case SB_HORZ: dwStyle = WS_HSCROLL; break;
case SB_VERT: dwStyle = WS_VSCROLL; break;
case SB_BOTH: dwStyle = WS_HSCROLL | WS_VSCROLL; break; }
if (!fShow) { if (pwnd->style & dwStyle) { fChanged = TRUE; pwnd->style &= ~dwStyle; } } else { if ((pwnd->style & dwStyle) != dwStyle) { fChanged = TRUE; pwnd->style |= dwStyle; }
/*
* Make sure that pwsb is initialized. */ if (pwnd->pSBInfo == NULL) _InitPwSB(pwnd); }
/*
* If the state changed, redraw the frame and force WM_NCPAINT. */ if (fChanged) {
/*
* We always redraw even if minimized or hidden... Otherwise, it seems * the scroll bars aren't properly hidden/shown when we become * visible */ xxxRedrawFrame(pwnd); } return TRUE; }
|