Release 980413
[wine/multimedia.git] / include / commctrl.h
blob2ed95f673e2aaa8dfbabe37d4dee2c4162b1c22f
1 /*
2 * Common controls definitions
3 */
5 #ifndef __WINE_COMMCTRL_H
6 #define __WINE_COMMCTRL_H
8 #include "windows.h"
10 void WINAPI InitCommonControls(void);
12 /* common control styles */
14 #define CCS_TOP 0x00000001L
15 #define CCS_NOMOVEY 0x00000002L
16 #define CCS_BOTTOM 0x00000003L
17 #define CCS_NORESIZE 0x00000004L
18 #define CCS_NOPARENTALIGN 0x00000008L
19 #define CCS_ADJUSTABLE 0x00000020L
20 #define CCS_NODIVIDER 0x00000040L
21 #define CCS_VERT 0x00000080L
22 #define CCS_LEFT (CCS_VERT|CCS_TOP)
23 #define CCS_RIGHT (CCS_VERT|CCS_BOTTOM)
24 #define CCS_NOMOVEX (CCS_VERT|CCS_NOMOVEY)
27 /* common control shared messages */
29 #define CCM_FIRST 0x2000
31 #define CCM_SETBKCOLOR (CCM_FIRST+1) // lParam = bkColor
34 /* StatusWindow */
36 #define STATUSCLASSNAME16 "msctls_statusbar"
37 #define STATUSCLASSNAME32A "msctls_statusbar32"
38 #define STATUSCLASSNAME32W L"msctls_statusbar32" /*FIXME*/
39 #define STATUSCLASSNAME WINELIB_NAME_AW(STATUSCLASSNAME)
41 #define SB_SETTEXT32A (WM_USER+1)
42 #define SB_SETTEXT32W (WM_USER+11)
43 #define SB_SETTEXT WINELIB_NAME_AW(SB_SETTEXT)
44 #define SB_GETTEXT32A (WM_USER+2)
45 #define SB_GETTEXT32W (WM_USER+13)
46 #define SB_GETTEXT WINELIB_NAME_AW(SB_GETTEXT)
47 #define SB_GETTEXTLENGTH32A (WM_USER+3)
48 #define SB_GETTEXTLENGTH32W (WM_USER+12)
49 #define SB_GETTEXTLENGTH WINELIB_NAME_AW(SB_GETTEXTLENGTH)
51 #define SB_SETPARTS (WM_USER+4)
52 #define SB_GETPARTS (WM_USER+6)
53 #define SB_GETBORDERS (WM_USER+7)
54 #define SB_SETMINHEIGHT (WM_USER+8)
55 #define SB_SIMPLE (WM_USER+9)
56 #define SB_GETRECT (WM_USER+10)
58 #define SBT_NOBORDERS 0x0100
59 #define SBT_POPOUT 0x0200
60 #define SBT_RTLREADING 0x0400
61 #define SBT_OWNERDRAW 0x1000
63 #define SBARS_SIZEGRIP 0x0100
65 /* UpDown */
67 #define UPDOWN_CLASS16 "msctls_updown"
68 #define UPDOWN_CLASS32A "msctls_updown32"
69 #define UPDOWN_CLASS32W L"msctls_updown32" /*FIXME*/
70 #define UPDOWN_CLASS WINELIB_NAME_AW(UPDOWN_CLASS)
72 typedef struct tagUDACCEL
74 UINT32 nSec;
75 UINT32 nInc;
76 } UDACCEL;
78 #define UD_MAXVAL 0x7fff
79 #define UD_MINVAL 0x8001
81 #define UDS_WRAP 0x0001
82 #define UDS_SETBUDDYINT 0x0002
83 #define UDS_ALIGNRIGHT 0x0004
84 #define UDS_ALIGNLEFT 0x0008
85 #define UDS_AUTOBUDDY 0x0010
86 #define UDS_ARROWKEYS 0x0020
87 #define UDS_HORZ 0x0040
88 #define UDS_NOTHOUSANDS 0x0080
90 #define UDN_FIRST (0U-721)
91 #define UDN_DELTAPOS (UDN_FIRST-1)
93 #define UDM_SETRANGE (WM_USER+101)
94 #define UDM_GETRANGE (WM_USER+102)
95 #define UDM_SETPOS (WM_USER+103)
96 #define UDM_GETPOS (WM_USER+104)
97 #define UDM_SETBUDDY (WM_USER+105)
98 #define UDM_GETBUDDY (WM_USER+106)
99 #define UDM_SETACCEL (WM_USER+107)
100 #define UDM_GETACCEL (WM_USER+108)
101 #define UDM_SETBASE (WM_USER+109)
102 #define UDM_GETBASE (WM_USER+110)
103 #define UDM_SETRANGE32 (WM_USER+111)
104 #define UDM_GETRANGE32 (WM_USER+112)
107 /* Progress Bar */
109 #define PROGRESS_CLASS32A "msctls_progress32"
110 #define PROGRESS_CLASS32W L"msctls_progress32"
111 #define PROGRESS_CLASS16 "msctls_progress"
113 #define PROGRESS_CLASS WINELIB_NAME_AW(PROGRESS_CLASS)
115 #define PBM_SETRANGE (WM_USER+1)
116 #define PBM_SETPOS (WM_USER+2)
117 #define PBM_DELTAPOS (WM_USER+3)
118 #define PBM_SETSTEP (WM_USER+4)
119 #define PBM_STEPIT (WM_USER+5)
120 #define PBM_SETRANGE32 (WM_USER+6)
121 #define PBM_GETRANGE (WM_USER+7)
122 #define PBM_GETPOS (WM_USER+8)
123 #define PBM_SETBARCOLOR (WM_USER+9)
124 #define PBM_SETBKCOLOR CCM_SETBKCOLOR
126 #define PBS_SMOOTH 0x01
127 #define PBS_VERTICAL 0x04
129 typedef struct
131 INT32 iLow;
132 INT32 iHigh;
133 } PBRANGE, *PPBRANGE;
136 /* Functions prototypes */
138 HWND16 WINAPI CreateStatusWindow16(INT16,LPCSTR,HWND16,UINT16);
139 HWND32 WINAPI CreateStatusWindow32A(INT32,LPCSTR,HWND32,UINT32);
140 HWND32 WINAPI CreateStatusWindow32W(INT32,LPCWSTR,HWND32,UINT32);
141 #define CreateStatusWindow WINELIB_NAME_AW(CreateStatusWindow)
142 HWND32 WINAPI CreateUpDownControl(DWORD,INT32,INT32,INT32,INT32,
143 HWND32,INT32,HINSTANCE32,HWND32,
144 INT32,INT32,INT32);
145 VOID WINAPI DrawStatusText16(HDC16,LPRECT16,LPCSTR,UINT16);
146 VOID WINAPI DrawStatusText32A(HDC32,LPRECT32,LPCSTR,UINT32);
147 VOID WINAPI DrawStatusText32W(HDC32,LPRECT32,LPCWSTR,UINT32);
148 #define DrawStatusText WINELIB_NAME_AW(DrawStatusText)
151 /* ImageList */
153 #if defined(__WINE__) && defined(__WINE_IMAGELIST_C)
154 #else
155 struct _IMAGELIST;
156 typedef struct _IMAGELIST *HIMAGELIST;
157 #endif /* __WINE__ */
159 #define CLR_NONE 0xFFFFFFFF
160 #define CLR_DEFAULT 0xFF000000
161 #define CLR_HILIGHT CLR_DEFAULT
163 #define ILC_MASK 0x0001
164 #define ILC_COLOR 0x0000
165 #define ILC_COLORDDB 0x00FE
166 #define ILC_COLOR4 0x0004
167 #define ILC_COLOR8 0x0008
168 #define ILC_COLOR16 0x0010
169 #define ILC_COLOR24 0x0018
170 #define ILC_COLOR32 0x0020
171 #define ILC_PALETTE 0x0800 /* no longer supported by M$ */
173 #define ILD_NORMAL 0x0000
174 #define ILD_TRANSPARENT 0x0001
175 #define ILD_BLEND25 0x0002
176 #define ILD_BLEND50 0x0004
177 #define ILD_MASK 0x0010
178 #define ILD_IMAGE 0x0020
179 #define ILD_ROP 0x0040
180 #define ILD_OVERLAYMASK 0x0F00
182 #define ILD_SELECTED ILD_BLEND50
183 #define ILD_FOCUS ILD_BLEND25
184 #define ILD_BLEND ILD_BLEND50
186 #define INDEXTOOVERLAYMASK(i) ((i)<<8)
188 #define ILCF_MOVE (0x00000000)
189 #define ILCF_SWAP (0x00000001)
192 typedef struct _IMAGEINFO
194 HBITMAP32 hbmImage;
195 HBITMAP32 hbmMask;
196 INT32 Unused1;
197 INT32 Unused2;
198 RECT32 rcImage;
199 } IMAGEINFO;
202 typedef struct _IMAGELISTDRAWPARAMS
204 DWORD cbSize;
205 HIMAGELIST himl;
206 INT32 i;
207 HDC32 hdcDst;
208 INT32 x;
209 INT32 y;
210 INT32 cx;
211 INT32 cy;
212 INT32 xBitmap; // x offest from the upperleft of bitmap
213 INT32 yBitmap; // y offset from the upperleft of bitmap
214 COLORREF rgbBk;
215 COLORREF rgbFg;
216 UINT32 fStyle;
217 DWORD dwRop;
218 } IMAGELISTDRAWPARAMS, *LPIMAGELISTDRAWPARAMS;
221 INT32 WINAPI ImageList_Add(HIMAGELIST,HBITMAP32,HBITMAP32);
222 INT32 WINAPI ImageList_AddMasked(HIMAGELIST,HBITMAP32,COLORREF);
223 BOOL32 WINAPI ImageList_BeginDrag(HIMAGELIST,INT32,INT32,INT32);
224 BOOL32 WINAPI ImageList_Copy(HIMAGELIST,INT32,HIMAGELIST,INT32,INT32);
225 HIMAGELIST WINAPI ImageList_Create(INT32,INT32,UINT32,INT32,INT32);
226 BOOL32 WINAPI ImageList_Destroy(HIMAGELIST);
227 BOOL32 WINAPI ImageList_DragEnter(HWND32,INT32,INT32);
228 BOOL32 WINAPI ImageList_DragLeave(HWND32);
229 BOOL32 WINAPI ImageList_DragMove(INT32,INT32);
230 BOOL32 WINAPI ImageList_DragShowNolock (BOOL32 bShow);
231 BOOL32 WINAPI ImageList_Draw(HIMAGELIST,INT32,HDC32,INT32,INT32,UINT32);
232 BOOL32 WINAPI ImageList_DrawEx(HIMAGELIST,INT32,HDC32,INT32,INT32,INT32,
233 INT32,COLORREF,COLORREF,UINT32);
234 BOOL32 WINAPI ImageList_DrawIndirect(IMAGELISTDRAWPARAMS*);
235 HIMAGELIST WINAPI ImageList_Duplicate(HIMAGELIST);
236 BOOL32 WINAPI ImageList_EndDrag (VOID);
237 COLORREF WINAPI ImageList_GetBkColor(HIMAGELIST);
238 HIMAGELIST WINAPI ImageList_GetDragImage(POINT32*,POINT32*);
239 HICON32 WINAPI ImageList_GetIcon(HIMAGELIST,INT32,UINT32);
240 BOOL32 WINAPI ImageList_GetIconSize(HIMAGELIST,INT32*,INT32*);
241 INT32 WINAPI ImageList_GetImageCount(HIMAGELIST);
242 BOOL32 WINAPI ImageList_GetImageInfo(HIMAGELIST,INT32,IMAGEINFO*);
243 BOOL32 WINAPI ImageList_GetImageRect (HIMAGELIST,INT32,LPRECT32);
244 HIMAGELIST WINAPI ImageList_LoadImage32A(HINSTANCE32,LPCSTR,INT32,INT32,
245 COLORREF,UINT32,UINT32);
246 HIMAGELIST WINAPI ImageList_LoadImage32W(HINSTANCE32,LPCWSTR,INT32,INT32,
247 COLORREF,UINT32,UINT32);
248 #define ImageList_LoadImage WINELIB_NAME_AW(ImageList_LoadImage)
249 HIMAGELIST WINAPI ImageList_Merge(HIMAGELIST,INT32,HIMAGELIST,INT32,INT32,INT32);
251 BOOL32 WINAPI ImageList_Remove(HIMAGELIST,INT32);
252 BOOL32 WINAPI ImageList_Replace(HIMAGELIST,INT32,HBITMAP32,HBITMAP32);
253 INT32 WINAPI ImageList_ReplaceIcon(HIMAGELIST,INT32,HICON32);
255 COLORREF WINAPI ImageList_SetBkColor(HIMAGELIST,COLORREF);
256 BOOL32 WINAPI ImageList_SetDragCursorImage(HIMAGELIST,INT32,INT32,INT32);
257 BOOL32 WINAPI ImageList_SetIconSize (HIMAGELIST,INT32,INT32);
258 BOOL32 WINAPI ImageList_SetImageCount (HIMAGELIST,INT32);
259 BOOL32 WINAPI ImageList_SetOverlayImage(HIMAGELIST,INT32,INT32);
261 #define ImageList_AddIcon(himl,hicon) ImageList_ReplaceIcon(himl,-1,hicon)
262 #define ImageList_ExtractIcon(hi,himl,i) ImageList_GetIcon(himl,i,0)
263 #define ImageList_LoadBitmap(hi,lpbmp,cx,cGrow,crMask) \
264 ImageList_LoadImage(hi,lpbmp,cx,cGrow,crMask,IMAGE_BITMAP,0)
265 #define ImageList_RemoveAll(himl) ImageList_Remove(himl,-1)
268 #endif /* __WINE_COMMCTRL_H */