71 #define TB_REFRESH_TIMER 1 72 #define TB_REFRESH_DELAY 500 74 #define TOOLTIP_OFFSET 2 76 #define TB_DEFAULTPAGESIZE 20 81 #define TB_THUMBPOSCHANGED 1 82 #define TB_THUMBSIZECHANGED 2 83 #define TB_THUMBCHANGED (TB_THUMBPOSCHANGED | TB_THUMBSIZECHANGED) 84 #define TB_SELECTIONCHANGED 4 85 #define TB_DRAG_MODE 8 86 #define TB_AUTO_PAGE_LEFT 16 87 #define TB_AUTO_PAGE_RIGHT 32 88 #define TB_AUTO_PAGE (TB_AUTO_PAGE_LEFT | TB_AUTO_PAGE_RIGHT) 89 #define TB_THUMB_HOT 64 93 #define TIC_SELECTIONMARKMAX 0x80 94 #define TIC_SELECTIONMARKMIN 0x100 95 #define TIC_SELECTIONMARK (TIC_SELECTIONMARKMAX | TIC_SELECTIONMARKMIN) 159 if (!infoPtr->
tics) {
168 for (
i = 0;
i < nrTics;
i++, tic += infoPtr->
uTicFreq)
169 infoPtr->
tics[
i] = tic;
193 else if (pos < infoPtr->lRangeMin)
220 if (
PtInRect(&pageRect, clickPoint))
226 return clickPos - infoPtr->
lPos;
276 INT cyChannel, offsetthumb, offsetedge;
282 offsetedge = offsetthumb + 3;
285 channel->
top = lpRect.
top + offsetedge;
303 channel->
right = channel->
left + cyChannel;
305 channel->
left = lpRect.
left + offsetedge;
308 channel->
top = lpRect.
top + ((infoPtr->
uThumbLen - cyChannel + 2) / 2);
323 channel->
bottom = channel->
top + cyChannel;
334 thumbwidth = (infoPtr->
uThumbLen / 2) | 1;
393 if (newPos != oldPos)
531 else y +=
len * side;
567 int ticFlags = infoPtr->
dwStyle & 0x0f;
569 HPEN hOldPen, hTicPen;
618 PointDepth = (thumb->
bottom - thumb->
top) / 2;
652 PointDepth = (thumb->
right - thumb->
left) / 2;
658 points[1].y = thumb->
top + PointDepth + 1;
664 points[4].y = thumb->
top + PointDepth + 1;
754 thumb.
left += PointDepth;
758 thumb.
left -= PointDepth;
765 thumb.
top += PointDepth;
766 thumb.
bottom += PointDepth;
773 thumb.
right -= PointDepth;
778 thumb.
right += PointDepth + 1;
784 thumb.
top += PointDepth;
785 thumb.
bottom += PointDepth;
794 thumb.
top += PointDepth;
801 thumb.
top -= PointDepth;
805 thumb.
left += PointDepth;
806 thumb.
right += PointDepth;
812 thumb.
bottom -= PointDepth;
819 thumb.
bottom += PointDepth;
823 thumb.
left += PointDepth;
824 thumb.
right += PointDepth;
851 static const WCHAR fmt[] = {
'%',
'l',
'd', 0 };
895 HBITMAP hOldBmp = 0, hOffScreenBmp = 0;
1026 RECT rcSelf, rcBuddy;
1039 (rcBuddy.right - rcBuddy.left) / 2 + rcSelf.left;
1040 y = rcSelf.top - (rcBuddy.bottom - rcBuddy.top);
1043 x = rcSelf.left - (rcBuddy.right - rcBuddy.left);
1045 (rcBuddy.bottom - rcBuddy.top) / 2 + rcSelf.top;
1060 (rcBuddy.right - rcBuddy.left) / 2 + rcSelf.left;
1066 (rcBuddy.bottom - rcBuddy.top) / 2 + rcSelf.top;
1090 if (infoPtr->
tics) {
1130 TRACE(
"(a=%d, b=%d)\n",
a,
b);
1131 if (
a <
b)
return -1;
1132 if (
a >
b)
return 1;
1140 if ((iTic < 0) || (iTic >= infoPtr->
uNumTics) || !infoPtr->
tics)
1144 return infoPtr->
tics[iTic];
1154 if ((iTic < 0) || (iTic >= infoPtr->
uNumTics) || !infoPtr->
tics)
1206 if (lPageSize != -1)
1219 infoPtr->
lPos = lPosition;
1227 if (fPosition && oldPos != lPosition)
1275 if (infoPtr->
lPos > rightmost) {
1276 infoPtr->
lPos = rightmost;
1397 if ((lPos < infoPtr->lRangeMin) || (lPos> infoPtr->
lRangeMax))
1400 TRACE(
"lPos=%d\n", lPos);
1405 if (!infoPtr->
tics) {
1467 int clientWidth, clientMetric;
1473 clientWidth =
rect.right -
rect.left;
1475 clientWidth =
rect.bottom -
rect.top;
1477 if (clientWidth >= clientMetric)
1480 infoPtr->
uThumbLen = clientWidth > 9 ? clientWidth - 6 : 4;
1496 if (!infoPtr)
return -1;
1500 infoPtr->hwndSelf =
hwnd;
1501 infoPtr->dwStyle = lpcs->
style;
1502 infoPtr->lRangeMin = 0;
1503 infoPtr->lRangeMax = 100;
1504 infoPtr->lLineSize = 1;
1506 infoPtr->lSelMin = 0;
1507 infoPtr->lSelMax = 0;
1510 infoPtr->uNumTics = 0;
1511 infoPtr->uTicFreq = 1;
1512 infoPtr->tics =
NULL;
1520 infoPtr->hwndToolTip =
1526 if (infoPtr->hwndToolTip) {
1591 if (
dir == 0)
return 0;
1715 LONG dragPos, oldPos = infoPtr->
lPos;
1717 TRACE(
"(x=%d. y=%d)\n",
x,
y);
1738 tme.
cbSize =
sizeof( tme );
1747 tme.
cbSize =
sizeof( tme );
1760 if (dragPos == oldPos)
return TRUE;
1762 infoPtr->
lPos = dragPos;
1780 TRACE(
"%x\n", nVirtKey);
1893 return infoPtr->
lPos;
2029 case WM_STYLECHANGED:
2032 case WM_THEMECHANGED:
HGDIOBJ WINAPI GetStockObject(_In_ int)
int WINAPIV wsprintfW(_Out_ LPWSTR, _In_ _Printf_format_string_ LPCWSTR,...)
#define BF_DIAGONAL_ENDTOPLEFT
HBRUSH COMCTL32_hPattern55AABrush
GLint GLint GLsizei width
BOOL WINAPI InflateRect(_Inout_ LPRECT, _In_ int, _In_ int)
#define TBM_GETTHUMBLENGTH
static void TRACKBAR_InvalidateAll(const TRACKBAR_INFO *infoPtr)
static BOOL TRACKBAR_KeyDown(TRACKBAR_INFO *infoPtr, INT nVirtKey)
_In_ int _Inout_ LPRECT lprc
static const WCHAR indent[]
int WINAPI MapWindowPoints(_In_opt_ HWND hWndFrom, _In_opt_ HWND hWndTo, _Inout_updates_(cPoints) LPPOINT lpPoints, _In_ UINT cPoints)
BOOL WINAPI ClientToScreen(_In_ HWND, _Inout_ LPPOINT)
#define TBS_ENABLESELRANGE
static LRESULT TRACKBAR_SetSelEnd(TRACKBAR_INFO *infoPtr, BOOL fRedraw, LONG lEnd)
BOOL WINAPI UnregisterClassW(_In_ LPCWSTR, HINSTANCE)
ActualNumberDriverObjects * sizeof(PDRIVER_OBJECT)) PDRIVER_OBJECT *DriverObjectList
BOOL Polygon(CONST PPOINT UnsafePoints, int Count, int polyFillMode)
#define CDRF_NOTIFYPOSTPAINT
HBITMAP WINAPI CreateCompatibleBitmap(_In_ HDC hdc, _In_ INT cx, _In_ INT cy)
static void TRACKBAR_CalcSelection(TRACKBAR_INFO *infoPtr)
static void TRACKBAR_DrawTics(const TRACKBAR_INFO *infoPtr, HDC hdc)
static BOOL TRACKBAR_KeyUp(const TRACKBAR_INFO *infoPtr, INT nVirtKey)
#define BF_DIAGONAL_ENDTOPRIGHT
#define TB_THUMBPOSCHANGED
static HWND TRACKBAR_SetBuddy(TRACKBAR_INFO *infoPtr, BOOL fLocation, HWND hwndBuddy)
#define WM_CTLCOLORSTATIC
#define TBM_GETCHANNELRECT
#define NM_RELEASEDCAPTURE
BOOL WINAPI DrawFocusRect(_In_ HDC, _In_ LPCRECT)
#define WM_CAPTURECHANGED
#define TTM_TRACKPOSITION
static LRESULT TRACKBAR_SetToolTips(TRACKBAR_INFO *infoPtr, HWND hwndTT)
static LONG TRACKBAR_GetAutoPageDirection(const TRACKBAR_INFO *infoPtr, POINT clickPoint)
#define TBM_SETUNICODEFORMAT
BOOL WINAPI UpdateWindow(_In_ HWND)
static BOOL TRACKBAR_AutoPage(TRACKBAR_INFO *infoPtr, POINT clickPoint)
static void TRACKBAR_CalcChannel(TRACKBAR_INFO *infoPtr)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
#define CDDS_ITEMPREPAINT
static HTHEME(WINAPI *pOpenThemeDataEx)(HWND
BOOL WINAPI DeleteObject(_In_ HGDIOBJ)
#define TB_THUMBSIZECHANGED
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
GLint GLint GLint GLint GLint x
static LRESULT TRACKBAR_SetFocus(TRACKBAR_INFO *infoPtr)
static void TRACKBAR_AlignBuddies(const TRACKBAR_INFO *infoPtr)
HWND WINAPI SetFocus(_In_opt_ HWND)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
static LRESULT notify_hdr(const TRACKBAR_INFO *infoPtr, INT code, LPNMHDR pnmh)
#define GetWindowLongPtrW
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
static void TRACKBAR_CalcThumb(const TRACKBAR_INFO *infoPtr, LONG lPos, RECT *thumb)
#define TB_AUTO_PAGE_LEFT
BOOL WINAPI GetCursorPos(_Out_ LPPOINT)
static LONG TRACKBAR_SetPageSize(TRACKBAR_INFO *infoPtr, LONG lPageSize)
BOOL WINAPI DestroyWindow(_In_ HWND)
HRESULT WINAPI DrawThemeBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, const RECT *pClipRect)
static LRESULT TRACKBAR_SetRangeMin(TRACKBAR_INFO *infoPtr, BOOL redraw, LONG lMin)
DWORD WINAPI GetSysColor(_In_ int)
static void TRACKBAR_PageDown(TRACKBAR_INFO *infoPtr)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI TrackMouseEvent(_Inout_ LPTRACKMOUSEEVENT)
_In_opt_ PALLOCATE_FUNCTION _In_opt_ PFREE_FUNCTION Free
static LONG TRACKBAR_ConvertPlaceToPosition(const TRACKBAR_INFO *infoPtr, int place)
static LRESULT TRACKBAR_Paint(TRACKBAR_INFO *infoPtr, HDC hdc)
static LRESULT TRACKBAR_SetRangeMax(TRACKBAR_INFO *infoPtr, BOOL redraw, LONG lMax)
static void TRACKBAR_LineUp(TRACKBAR_INFO *infoPtr)
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
static int comp_tics(const void *ap, const void *bp)
GLenum GLuint GLenum GLsizei const GLchar * buf
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
ATOM WINAPI RegisterClassW(_In_ CONST WNDCLASSW *)
static LONG TRACKBAR_GetNumTics(const TRACKBAR_INFO *infoPtr)
static void TRACKBAR_DrawThumb(TRACKBAR_INFO *infoPtr, HDC hdc)
static void TRACKBAR_DrawOneTic(const TRACKBAR_INFO *infoPtr, HDC hdc, LONG ticPos, int flags)
static int notify_customdraw(const TRACKBAR_INFO *infoPtr, NMCUSTOMDRAW *pnmcd, int stage)
#define TIC_SELECTIONMARKMAX
static BOOL TRACKBAR_HasSelection(const TRACKBAR_INFO *infoPtr)
WINE_DEFAULT_DEBUG_CHANNEL(trackbar)
#define BF_DIAGONAL_ENDBOTTOMLEFT
static LONG TRACKBAR_GetTicPos(const TRACKBAR_INFO *infoPtr, INT iTic)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
BOOL WINAPI DrawEdge(_In_ HDC, _Inout_ LPRECT, _In_ UINT, _In_ UINT)
void __cdecl qsort(_Inout_updates_bytes_(_NumOfElements *_SizeOfElements) void *_Base, _In_ size_t _NumOfElements, _In_ size_t _SizeOfElements, _In_ int(__cdecl *_PtFuncCompare)(const void *, const void *))
#define TBM_GETUNICODEFORMAT
static LONG TRACKBAR_GetTic(const TRACKBAR_INFO *infoPtr, INT iTic)
static LRESULT TRACKBAR_ClearSel(TRACKBAR_INFO *infoPtr, BOOL fRedraw)
static void TRACKBAR_RecalculateTics(TRACKBAR_INFO *infoPtr)
static LRESULT TRACKBAR_SetThumbLength(TRACKBAR_INFO *infoPtr, UINT iLength)
static LRESULT TRACKBAR_CaptureChanged(const TRACKBAR_INFO *infoPtr)
static LRESULT TRACKBAR_Size(TRACKBAR_INFO *infoPtr)
static LRESULT TRACKBAR_ClearTics(TRACKBAR_INFO *infoPtr, BOOL fRedraw)
#define CDRF_NOTIFYITEMDRAW
UINT_PTR WINAPI SetTimer(_In_opt_ HWND, _In_ UINT_PTR, _In_ UINT, _In_opt_ TIMERPROC)
HRESULT WINAPI DrawThemeParentBackground(HWND hwnd, HDC hdc, RECT *prc)
static void TRACKBAR_Refresh(TRACKBAR_INFO *infoPtr, HDC hdcDst)
const char * wine_dbgstr_point(const POINT *guid)
GLboolean GLboolean GLboolean b
static LRESULT TRACKBAR_SetSel(TRACKBAR_INFO *infoPtr, BOOL fRedraw, LONG lSel)
PVOID ReAlloc(IN DWORD dwFlags, IN PVOID lpMem, IN SIZE_T dwBytes)
#define TTM_UPDATETIPTEXTW
int WINAPI SetPolyFillMode(_In_ HDC, _In_ int)
#define BF_DIAGONAL_ENDBOTTOMRIGHT
const char * wine_dbgstr_rect(const RECT *rect)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
static void TRACKBAR_InvalidateThumbMove(const TRACKBAR_INFO *infoPtr, LONG oldPos, LONG newPos)
PVOID Alloc(IN DWORD dwFlags, IN SIZE_T dwBytes)
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
static LRESULT TRACKBAR_KillFocus(TRACKBAR_INFO *infoPtr)
HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR classlist)
COMCTL32_SysColor comctl32_color
static LRESULT TRACKBAR_SetTic(TRACKBAR_INFO *infoPtr, LONG lPos)
static LRESULT TRACKBAR_MouseMove(TRACKBAR_INFO *infoPtr, INT x, INT y)
GLsizei const GLfloat * points
HTHEME WINAPI GetWindowTheme(HWND hwnd)
BOOL WINAPI KillTimer(_In_opt_ HWND, _In_ UINT_PTR)
static void TRACKBAR_UpdateThumb(TRACKBAR_INFO *infoPtr)
static LRESULT TRACKBAR_Destroy(TRACKBAR_INFO *infoPtr)
#define TTM_GETBUBBLESIZE
static void TRACKBAR_PageUp(TRACKBAR_INFO *infoPtr)
HWND WINAPI CreateWindowExW(_In_ DWORD dwExStyle, _In_opt_ LPCWSTR lpClassName, _In_opt_ LPCWSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
#define TB_SELECTIONCHANGED
BOOL WINAPI SetRectEmpty(_Out_ LPRECT)
static LRESULT TRACKBAR_StyleChanged(TRACKBAR_INFO *infoPtr, WPARAM wStyleType, const STYLESTRUCT *lpss)
static void notify_with_scroll(const TRACKBAR_INFO *infoPtr, UINT code)
static void TRACKBAR_UpdateToolTip(const TRACKBAR_INFO *infoPtr)
HRESULT WINAPI GetThemeColor(HTHEME hTheme, int iPartId, int iStateId, int iPropId, COLORREF *pColor)
HPEN WINAPI CreatePenIndirect(_In_ const LOGPEN *)
void TRACKBAR_Register(void)
static void TRACKBAR_DrawChannel(const TRACKBAR_INFO *infoPtr, HDC hdc)
GLint GLint GLsizei GLsizei height
#define TBM_SETTHUMBLENGTH
static int notify(const TRACKBAR_INFO *infoPtr, INT code)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
void redraw(int x, int y, int cx, int cy)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
HWND WINAPI GetParent(_In_ HWND)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)
#define TTM_TRACKACTIVATE
HWND WINAPI SetCapture(_In_ HWND hWnd)
static LRESULT TRACKBAR_Timer(TRACKBAR_INFO *infoPtr)
static LRESULT TRACKBAR_LButtonUp(TRACKBAR_INFO *infoPtr)
static void TRACKBAR_ActivateToolTip(const TRACKBAR_INFO *infoPtr, BOOL fShow)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define TB_DEFAULTPAGESIZE
static const WCHAR themeClass[]
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
static BOOL TRACKBAR_SetUnicodeFormat(TRACKBAR_INFO *infoPtr, BOOL fUnicode)
static void TRACKBAR_LineDown(TRACKBAR_INFO *infoPtr)
static LRESULT TRACKBAR_InitializeThumb(TRACKBAR_INFO *infoPtr)
#define TIC_SELECTIONMARKMIN
GLint GLint GLint GLint GLint GLint y
#define TB_AUTO_PAGE_RIGHT
static LONG TRACKBAR_SetLineSize(TRACKBAR_INFO *infoPtr, LONG lLineSize)
static LRESULT TRACKBAR_GetChannelRect(const TRACKBAR_INFO *infoPtr, LPRECT lprc)
static LRESULT TRACKBAR_Enable(TRACKBAR_INFO *infoPtr, BOOL enable)
BOOL WINAPI PtInRect(_In_ LPCRECT, _In_ POINT)
BOOL WINAPI ReleaseCapture(void)
void int int ULONGLONG int va_list * ap
static LRESULT TRACKBAR_LButtonDown(TRACKBAR_INFO *infoPtr, INT x, INT y)
BOOL WINAPI CopyRect(_Out_ LPRECT, _In_ LPCRECT)
BOOL COMCTL32_IsReflectedMessage(UINT uMsg) DECLSPEC_HIDDEN
char * cleanup(char *str)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
#define SetWindowLongPtrW
GLboolean GLboolean GLboolean GLboolean a
static LRESULT theme_changed(const TRACKBAR_INFO *infoPtr)
BOOL WINAPI ScreenToClient(_In_ HWND, _Inout_ LPPOINT)
_Check_return_ _CRTIMP double __cdecl floor(_In_ double x)
static LRESULT TRACKBAR_SetPos(TRACKBAR_INFO *infoPtr, BOOL fPosition, LONG lPosition)
#define CDDS_ITEMPOSTPAINT
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
HBRUSH WINAPI GetSysColorBrush(_In_ int)
static int TRACKBAR_FillThumb(const TRACKBAR_INFO *infoPtr, HDC hdc, HBRUSH hbrush)
static LRESULT TRACKBAR_SetTicFreq(TRACKBAR_INFO *infoPtr, WORD wFreq)
static LRESULT TRACKBAR_SetSelStart(TRACKBAR_INFO *infoPtr, BOOL fRedraw, LONG lStart)
void TRACKBAR_Unregister(void)
static INT TRACKBAR_SetTipSide(TRACKBAR_INFO *infoPtr, INT fLocation)
static LRESULT WINAPI TRACKBAR_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
HRESULT WINAPI CloseThemeData(HTHEME hTheme)
static VOID NTAPI BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
static void TRACKBAR_DrawTic(const TRACKBAR_INFO *infoPtr, HDC hdc, LONG ticPos, int flags)
static LRESULT TRACKBAR_SetRange(TRACKBAR_INFO *infoPtr, BOOL redraw, LONG range)
static LRESULT TRACKBAR_Create(HWND hwnd, const CREATESTRUCTW *lpcs)
static void TRACKBAR_InvalidateThumb(const TRACKBAR_INFO *infoPtr, LONG thumbPos)
#define TIC_SELECTIONMARK