Techwiki:Win32k/SCROLL

From ReactOS Wiki
Revision as of 07:15, 11 January 2010 by Jimtabor (talk | contribs)
Jump to: navigation, search

Scroll bar structure from Windows

//
// Scroll bar info for window structure.
typedef struct _SBDATA
{
   INT posMin;
   INT posMax;
   INT page;
   INT pos;
} SBDATA, *PSBDATA;

typedef struct _SBINFO
{
   DWORD  WSBflags;
   SBDATA Horz;
   SBDATA Vert;
} SBINFO, *PSBINFO;

typedef struct tagSBCALC
{
   INT posMin;
   INT posMax;
   INT page;
   INT pos;
   INT pxTop;
   INT pxBottom;
   INT pxLeft;
   INT pxRight;
   INT cpxThumb;
   INT pxUpArrow;
   INT pxDownArrow;
   INT pxStart;
   INT pxThumbBottom;
   INT pxThumbTop;
   INT cpx;
   INT pxMin;
} SBCALC, *PSBCALC;

typedef VOID (NEAR NTAPI *PFN_SCROLLBAR)(PWND, UINT, WPARAM, LPARAM, PSBCALC);

typedef struct tagSBTRACK
{
   ULONG    fHitOld:1;
   ULONG    fTrackVert:1;
   ULONG    fCtlSB:1;
   ULONG    fTrackRecalc:1;
   PWND     spwndTrack;
   PWND     spwndSB;
   PWND     spwndSBNotify;
   RECT     rcTrack;
   PFN_SCROLLBAR xxxpfnSB;
   UINT     cmdSB;
   UINT_PTR hTimerSB;
   INT      dpxThumb;
   INT      pxOld;
   INT      posOld;
   INT      posNew;
   INT      nBar;
   PSBCALC  pSBCalc;
} SBTRACK, *PSBTRACK;

// Window Extra data container.
typedef struct _SBWND
{
   WND    wnd;
   BOOL   fVert;
   UINT   wDisableFlags;
   SBCALC SBCalc;
} SBWND, *PSBWND;

References