2 * Common controls definitions
5 #ifndef __WINE_COMMCTRL_H
6 #define __WINE_COMMCTRL_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
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
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
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)
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
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
,
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)
153 #if defined(__WINE__) && defined(__WINE_IMAGELIST_C)
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
202 typedef struct _IMAGELISTDRAWPARAMS
212 INT32 xBitmap
; // x offest from the upperleft of bitmap
213 INT32 yBitmap
; // y offset from the upperleft of bitmap
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 */