Techwiki:Win32k/SCROLL

From ReactOS Wiki
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