1 #pragma once 2 3 typedef VOID (NEAR NTAPI *PFN_SCROLLBAR)(PWND, UINT, WPARAM, LPARAM, PSBCALC); 4 5 typedef struct tagSBTRACK 6 { 7 ULONG fHitOld:1; 8 ULONG fTrackVert:1; 9 ULONG fCtlSB:1; 10 ULONG fTrackRecalc:1; 11 PWND spwndTrack; 12 PWND spwndSB; 13 PWND spwndSBNotify; 14 RECT rcTrack; 15 PFN_SCROLLBAR xxxpfnSB; 16 UINT cmdSB; 17 UINT_PTR hTimerSB; 18 INT dpxThumb; 19 INT pxOld; 20 INT posOld; 21 INT posNew; 22 INT nBar; 23 PSBCALC pSBCalc; 24 } SBTRACK, *PSBTRACK; 25 26 /* 27 typedef struct _SBINFOEX 28 { 29 SCROLLBARINFO ScrollBarInfo; 30 SCROLLINFO ScrollInfo; 31 } SBINFOEX, *PSBINFOEX; 32 */ 33 #define IntGetScrollbarInfoFromWindow(Window, i) \ 34 ((PSCROLLBARINFO)(&((Window)->pSBInfoex + i)->ScrollBarInfo)) 35 36 #define IntGetScrollInfoFromWindow(Window, i) \ 37 ((LPSCROLLINFO)(&((Window)->pSBInfoex + i)->ScrollInfo)) 38 39 #define SBOBJ_TO_SBID(Obj) ((Obj) - OBJID_HSCROLL) 40 #define SBID_IS_VALID(id) (id == SB_HORZ || id == SB_VERT || id == SB_CTL) 41 42 BOOL FASTCALL co_IntCreateScrollBars(PWND); 43 BOOL FASTCALL IntDestroyScrollBars(PWND); 44 DWORD FASTCALL co_UserShowScrollBar(PWND,int,BOOL,BOOL); 45 BOOL FASTCALL co_IntGetScrollBarInfo(PWND,LONG,PSCROLLBARINFO); 46 BOOL FASTCALL co_IntSetScrollBarInfo(PWND,LONG,PSETSCROLLBARINFO); 47 void IntDrawScrollBar(PWND,HDC,INT); 48 BOOL FASTCALL IntScrollWindow(PWND,int,int,CONST RECT*,CONST RECT*); 49 DWORD FASTCALL IntScrollWindowEx(PWND,INT,INT,const RECT*,const RECT*,HRGN,LPRECT,UINT); 50