Release 980822
[wine/multimedia.git] / include / commctrl.h
blob3284c98664ea5e0af099cd8c9ea818938b293857
1 /*
2 * Common controls definitions
3 */
5 #ifndef __WINE_COMMCTRL_H
6 #define __WINE_COMMCTRL_H
8 #include "windows.h"
9 #include "imagelist.h"
11 BOOL32 WINAPI ShowHideMenuCtl (HWND32, UINT32, LPINT32);
12 VOID WINAPI GetEffectiveClientRect (HWND32, LPRECT32, LPINT32);
13 VOID WINAPI InitCommonControls (VOID);
15 typedef struct tagINITCOMMONCONTROLSEX {
16 DWORD dwSize;
17 DWORD dwICC;
18 } INITCOMMONCONTROLSEX, *LPINITCOMMONCONTROLSEX;
20 BOOL32 WINAPI InitCommonControlsEx (LPINITCOMMONCONTROLSEX);
22 #define ICC_LISTVIEW_CLASSES 0x00000001 /* listview, header */
23 #define ICC_TREEVIEW_CLASSES 0x00000002 /* treeview, tooltips */
24 #define ICC_BAR_CLASSES 0x00000004 /* toolbar, statusbar, trackbar, tooltips */
25 #define ICC_TAB_CLASSES 0x00000008 /* tab, tooltips */
26 #define ICC_UPDOWN_CLASS 0x00000010 /* updown */
27 #define ICC_PROGRESS_CLASS 0x00000020 /* progress */
28 #define ICC_HOTKEY_CLASS 0x00000040 /* hotkey */
29 #define ICC_ANIMATE_CLASS 0x00000080 /* animate */
30 #define ICC_WIN95_CLASSES 0x000000FF
31 #define ICC_DATE_CLASSES 0x00000100 /* month picker, date picker, time picker, updown */
32 #define ICC_USEREX_CLASSES 0x00000200 /* comboex */
33 #define ICC_COOL_CLASSES 0x00000400 /* rebar (coolbar) */
34 #define ICC_INTERNET_CLASSES 0x00000800 /* IP address, ... */
35 #define ICC_PAGESCROLLER_CLASS 0x00001000 /* page scroller */
36 #define ICC_NATIVEFNTCTL_CLASS 0x00002000 /* native font control ???*/
39 /* common control styles */
41 #define CCS_TOP 0x00000001L
42 #define CCS_NOMOVEY 0x00000002L
43 #define CCS_BOTTOM 0x00000003L
44 #define CCS_NORESIZE 0x00000004L
45 #define CCS_NOPARENTALIGN 0x00000008L
46 #define CCS_ADJUSTABLE 0x00000020L
47 #define CCS_NODIVIDER 0x00000040L
48 #define CCS_VERT 0x00000080L
49 #define CCS_LEFT (CCS_VERT|CCS_TOP)
50 #define CCS_RIGHT (CCS_VERT|CCS_BOTTOM)
51 #define CCS_NOMOVEX (CCS_VERT|CCS_NOMOVEY)
54 /* common control shared messages */
55 #define CCM_FIRST 0x2000
57 #define CCM_SETBKCOLOR (CCM_FIRST+1) /* lParam = bkColor */
58 #define CCM_SETCOLORSCHEME (CCM_FIRST+2)
59 #define CCM_GETCOLORSCHEME (CCM_FIRST+3)
60 #define CCM_GETDROPTARGET (CCM_FIRST+4)
61 #define CCM_SETUNICODEFORMAT (CCM_FIRST+5)
62 #define CCM_GETUNICODEFORMAT (CCM_FIRST+6)
65 /* common notification codes (WM_NOTIFY)*/
66 #define NM_FIRST (0U- 0U) // generic to all controls
67 #define NM_LAST (0U- 99U)
69 #define LVN_FIRST (0U-100U) // listview
70 #define LVN_LAST (0U-199U)
72 #define HDN_FIRST (0U-300U) // header
73 #define HDN_LAST (0U-399U)
75 #define TVN_FIRST (0U-400U) // treeview
76 #define TVN_LAST (0U-499U)
78 #define TTN_FIRST (0U-520U) // tooltips
79 #define TTN_LAST (0U-549U)
81 #define TCN_FIRST (0U-550U) // tab control
82 #define TCN_LAST (0U-580U)
84 // Shell reserved (0U-580U) - (0U-589U)
86 #define CDN_FIRST (0U-601U) // common dialog (new)
87 #define CDN_LAST (0U-699U)
89 #define TBN_FIRST (0U-700U) // toolbar
90 #define TBN_LAST (0U-720U)
92 #define UDN_FIRST (0U-721) // updown
93 #define UDN_LAST (0U-740)
95 #define MCN_FIRST (0U-750U) // monthcal
96 #define MCN_LAST (0U-759U)
98 #define DTN_FIRST (0U-760U) // datetimepick
99 #define DTN_LAST (0U-799U)
101 #define CBEN_FIRST (0U-800U) // combo box ex
102 #define CBEN_LAST (0U-830U)
104 #define RBN_FIRST (0U-831U) // rebar
105 #define RBN_LAST (0U-859U)
107 #define IPN_FIRST (0U-860U) // internet address
108 #define IPN_LAST (0U-879U) // internet address
110 #define SBN_FIRST (0U-880U) // status bar
111 #define SBN_LAST (0U-899U)
113 #define PGN_FIRST (0U-900U) // Pager Control
114 #define PGN_LAST (0U-950U)
117 #define NM_OUTOFMEMORY (NM_FIRST-1)
118 #define NM_CLICK (NM_FIRST-2)
119 #define NM_DBLCLK (NM_FIRST-3)
120 #define NM_RETURN (NM_FIRST-4)
121 #define NM_RCLICK (NM_FIRST-5)
122 #define NM_RDBLCLK (NM_FIRST-6)
123 #define NM_SETFOCUS (NM_FIRST-7)
124 #define NM_KILLFOCUS (NM_FIRST-8)
125 #define NM_CUSTOMDRAW (NM_FIRST-12)
126 #define NM_HOVER (NM_FIRST-13)
127 #define NM_NCHITTEST (NM_FIRST-14)
128 #define NM_KEYDOWN (NM_FIRST-15)
129 #define NM_RELEASEDCAPTURE (NM_FIRST-16)
130 #define NM_SETCURSOR (NM_FIRST-17)
131 #define NM_CHAR (NM_FIRST-18)
132 #define NM_TOOLTIPSCREATED (NM_FIRST-19)
134 #define HDN_ITEMCHANGINGA (HDN_FIRST-0)
135 #define HDN_ITEMCHANGINGW (HDN_FIRST-20)
136 #define HDN_ITEMCHANGEDA (HDN_FIRST-1)
137 #define HDN_ITEMCHANGEDW (HDN_FIRST-21)
138 #define HDN_ITEMCLICKA (HDN_FIRST-2)
139 #define HDN_ITEMCLICKW (HDN_FIRST-22)
140 #define HDN_ITEMDBLCLICKA (HDN_FIRST-3)
141 #define HDN_ITEMDBLCLICKW (HDN_FIRST-23)
142 #define HDN_DIVIDERDBLCLICKA (HDN_FIRST-5)
143 #define HDN_DIVIDERDBLCLICKW (HDN_FIRST-25)
144 #define HDN_BEGINTRACKA (HDN_FIRST-6)
145 #define HDN_BEGINTRACKW (HDN_FIRST-26)
146 #define HDN_ENDTRACKA (HDN_FIRST-7)
147 #define HDN_ENDTRACKW (HDN_FIRST-27)
148 #define HDN_TRACKA (HDN_FIRST-8)
149 #define HDN_TRACKW (HDN_FIRST-28)
150 #define HDN_GETDISPINFOA (HDN_FIRST-9)
151 #define HDN_GETDISPINFOW (HDN_FIRST-29)
152 #define HDN_BEGINDRAG (HDN_FIRST-10)
153 #define HDN_ENDDRAG (HDN_FIRST-11)
156 #define HDN_ITEMCHANGING HDN_ITEMCHANGINGA
157 #define HDN_ITEMCHANGED HDN_ITEMCHANGEDA
158 #define HDN_ITEMCLICK HDN_ITEMCLICKA
159 #define HDN_ITEMDBLCLICK HDN_ITEMDBLCLICKA
160 #define HDN_DIVIDERDBLCLICK HDN_DIVIDERDBLCLICKA
161 #define HDN_BEGINTRACK HDN_BEGINTRACKA
162 #define HDN_ENDTRACK HDN_ENDTRACKA
163 #define HDN_TRACK HDN_TRACKA
164 #define HDN_GETDISPINFO HDN_GETDISPINFOA
166 #define LVN_ITEMCHANGING (LVN_FIRST-0)
167 #define LVN_ITEMCHANGED (LVN_FIRST-1)
168 #define LVN_INSERTITEM (LVN_FIRST-2)
169 #define LVN_DELETEITEM (LVN_FIRST-3)
170 #define LVN_DELETEALLITEMS (LVN_FIRST-4)
171 #define LVN_BEGINLABELEDITA (LVN_FIRST-5)
172 #define LVN_BEGINLABELEDITW (LVN_FIRST-75)
173 #define LVN_ENDLABELEDITA (LVN_FIRST-6)
174 #define LVN_ENDLABELEDITW (LVN_FIRST-76)
175 #define LVN_COLUMNCLICK (LVN_FIRST-8)
176 #define LVN_BEGINDRAG (LVN_FIRST-9)
177 #define LVN_BEGINRDRAG (LVN_FIRST-11)
178 #define LVN_ODCACHEHINT (LVN_FIRST-13)
179 #define LVN_ODFINDITEMA (LVN_FIRST-52)
180 #define LVN_ODFINDITEMW (LVN_FIRST-79)
181 #define LVN_ITEMACTIVATE (LVN_FIRST-14)
182 #define LVN_ODSTATECHANGED (LVN_FIRST-15)
183 #define LVN_HOTTRACK (LVN_FIRST-21)
184 #define LVN_GETDISPINFOA (LVN_FIRST-50)
185 #define LVN_GETDISPINFOW (LVN_FIRST-77)
186 #define LVN_SETDISPINFOA (LVN_FIRST-51)
187 #define LVN_SETDISPINFOW (LVN_FIRST-78)
189 #define LVN_ODFINDITEM LVN_ODFINDITEMA
190 #define LVN_BEGINLABELEDIT LVN_BEGINLABELEDITA
191 #define LVN_ENDLABELEDIT LVN_ENDLABELEDITA
192 #define LVN_GETDISPINFO LVN_GETDISPINFOA
193 #define LVN_SETDISPINFO LVN_SETDISPINFOA
195 /* callback constants */
196 #define LPSTR_TEXTCALLBACK32A ((LPSTR)-1L)
197 #define LPSTR_TEXTCALLBACK32W ((LPWSTR)-1L)
198 #define LPSTR_TEXTCALLBACK WINELIB_NAME_AW(LPSTR_TEXTCALLBACK)
201 /* owner drawn types */
202 #define ODT_HEADER 100
203 #define ODT_TAB 101
204 #define ODT_LISTVIEW 102
206 /* common notification structures */
207 typedef struct tagNMTOOLTIPSCREATED
209 NMHDR hdr;
210 HWND32 hwndToolTips;
211 } NMTOOLTIPSCREATED, *LPNMTOOLTIPSCREATED;
214 /* StatusWindow */
216 #define STATUSCLASSNAME16 "msctls_statusbar"
217 #define STATUSCLASSNAME32A "msctls_statusbar32"
218 #define STATUSCLASSNAME32W L"msctls_statusbar32"
219 #define STATUSCLASSNAME WINELIB_NAME_AW(STATUSCLASSNAME)
221 #define SB_SETTEXT32A (WM_USER+1)
222 #define SB_SETTEXT32W (WM_USER+11)
223 #define SB_SETTEXT WINELIB_NAME_AW(SB_SETTEXT)
224 #define SB_GETTEXT32A (WM_USER+2)
225 #define SB_GETTEXT32W (WM_USER+13)
226 #define SB_GETTEXT WINELIB_NAME_AW(SB_GETTEXT)
227 #define SB_GETTEXTLENGTH32A (WM_USER+3)
228 #define SB_GETTEXTLENGTH32W (WM_USER+12)
229 #define SB_GETTEXTLENGTH WINELIB_NAME_AW(SB_GETTEXTLENGTH)
231 #define SB_SETPARTS (WM_USER+4)
232 #define SB_GETPARTS (WM_USER+6)
233 #define SB_GETBORDERS (WM_USER+7)
234 #define SB_SETMINHEIGHT (WM_USER+8)
235 #define SB_SIMPLE (WM_USER+9)
236 #define SB_GETRECT (WM_USER+10)
237 #define SB_ISSIMPLE (WM_USER+14)
238 #define SB_SETICON (WM_USER+15)
239 #define SB_SETTIPTEXT32A (WM_USER+16)
240 #define SB_SETTIPTEXT32W (WM_USER+17)
241 #define SB_SETTIPTEXT WINELIB_NAME_AW(SB_SETTIPTEXT)
242 #define SB_GETTIPTEXT32A (WM_USER+18)
243 #define SB_GETTIPTEXT32W (WM_USER+19)
244 #define SB_GETTIPTEXT WINELIB_NAME_AW(SB_GETTIPTEXT)
245 #define SB_GETICON (WM_USER+20)
246 #define SB_SETBKCOLOR CCM_SETBKCOLOR /* lParam = bkColor */
248 #define SBT_NOBORDERS 0x0100
249 #define SBT_POPOUT 0x0200
250 #define SBT_RTLREADING 0x0400 /* not supported */
251 #define SBT_TOOLTIPS 0x0800
252 #define SBT_OWNERDRAW 0x1000
254 #define SBARS_SIZEGRIP 0x0100
256 #define SBN_FIRST (0U-880U)
257 #define SBN_LAST (0U-899U)
258 #define SBN_SIMPLEMODECHANGE (SBN_FIRST-0)
261 HWND32 WINAPI CreateStatusWindow32A (INT32, LPCSTR, HWND32, UINT32);
262 HWND32 WINAPI CreateStatusWindow32W (INT32, LPCWSTR, HWND32, UINT32);
263 #define CreateStatusWindow WINELIB_NAME_AW(CreateStatusWindow)
264 VOID WINAPI DrawStatusText32A (HDC32, LPRECT32, LPCSTR, UINT32);
265 VOID WINAPI DrawStatusText32W (HDC32, LPRECT32, LPCWSTR, UINT32);
266 #define DrawStatusText WINELIB_NAME_AW(DrawStatusText)
267 VOID WINAPI MenuHelp (UINT32, WPARAM32, LPARAM, HMENU32,
268 HINSTANCE32, HWND32, LPUINT32);
271 /* UpDown */
273 #define UPDOWN_CLASS16 "msctls_updown"
274 #define UPDOWN_CLASS32A "msctls_updown32"
275 #define UPDOWN_CLASS32W L"msctls_updown32" /*FIXME*/
276 #define UPDOWN_CLASS WINELIB_NAME_AW(UPDOWN_CLASS)
278 typedef struct tagUDACCEL
280 UINT32 nSec;
281 UINT32 nInc;
282 } UDACCEL;
284 #define UD_MAXVAL 0x7fff
285 #define UD_MINVAL 0x8001
287 #define UDS_WRAP 0x0001
288 #define UDS_SETBUDDYINT 0x0002
289 #define UDS_ALIGNRIGHT 0x0004
290 #define UDS_ALIGNLEFT 0x0008
291 #define UDS_AUTOBUDDY 0x0010
292 #define UDS_ARROWKEYS 0x0020
293 #define UDS_HORZ 0x0040
294 #define UDS_NOTHOUSANDS 0x0080
296 #define UDN_FIRST (0U-721)
297 #define UDN_DELTAPOS (UDN_FIRST-1)
299 #define UDM_SETRANGE (WM_USER+101)
300 #define UDM_GETRANGE (WM_USER+102)
301 #define UDM_SETPOS (WM_USER+103)
302 #define UDM_GETPOS (WM_USER+104)
303 #define UDM_SETBUDDY (WM_USER+105)
304 #define UDM_GETBUDDY (WM_USER+106)
305 #define UDM_SETACCEL (WM_USER+107)
306 #define UDM_GETACCEL (WM_USER+108)
307 #define UDM_SETBASE (WM_USER+109)
308 #define UDM_GETBASE (WM_USER+110)
309 #define UDM_SETRANGE32 (WM_USER+111)
310 #define UDM_GETRANGE32 (WM_USER+112)
312 HWND32 WINAPI CreateUpDownControl (DWORD, INT32, INT32, INT32, INT32,
313 HWND32, INT32, HINSTANCE32, HWND32,
314 INT32, INT32, INT32);
316 /* Progress Bar */
318 #define PROGRESS_CLASS32A "msctls_progress32"
319 #define PROGRESS_CLASS32W L"msctls_progress32"
320 #define PROGRESS_CLASS16 "msctls_progress"
321 #define PROGRESS_CLASS WINELIB_NAME_AW(PROGRESS_CLASS)
323 #define PBM_SETRANGE (WM_USER+1)
324 #define PBM_SETPOS (WM_USER+2)
325 #define PBM_DELTAPOS (WM_USER+3)
326 #define PBM_SETSTEP (WM_USER+4)
327 #define PBM_STEPIT (WM_USER+5)
328 #define PBM_SETRANGE32 (WM_USER+6)
329 #define PBM_GETRANGE (WM_USER+7)
330 #define PBM_GETPOS (WM_USER+8)
331 #define PBM_SETBARCOLOR (WM_USER+9)
332 #define PBM_SETBKCOLOR CCM_SETBKCOLOR
334 #define PBS_SMOOTH 0x01
335 #define PBS_VERTICAL 0x04
337 typedef struct
339 INT32 iLow;
340 INT32 iHigh;
341 } PBRANGE, *PPBRANGE;
344 /* ImageList */
346 #if defined(__WINE__) && defined(__WINE_IMAGELIST_C)
347 #else
348 struct _IMAGELIST;
349 typedef struct _IMAGELIST *HIMAGELIST;
350 #endif*/ /* __WINE__ */
352 #define CLR_NONE 0xFFFFFFFF
353 #define CLR_DEFAULT 0xFF000000
354 #define CLR_HILIGHT CLR_DEFAULT
356 #define ILC_MASK 0x0001
357 #define ILC_COLOR 0x0000
358 #define ILC_COLORDDB 0x00FE
359 #define ILC_COLOR4 0x0004
360 #define ILC_COLOR8 0x0008
361 #define ILC_COLOR16 0x0010
362 #define ILC_COLOR24 0x0018
363 #define ILC_COLOR32 0x0020
364 #define ILC_PALETTE 0x0800 /* no longer supported by M$ */
366 #define ILD_NORMAL 0x0000
367 #define ILD_TRANSPARENT 0x0001
368 #define ILD_BLEND25 0x0002
369 #define ILD_BLEND50 0x0004
370 #define ILD_MASK 0x0010
371 #define ILD_IMAGE 0x0020
372 #define ILD_ROP 0x0040
373 #define ILD_OVERLAYMASK 0x0F00
375 #define ILD_SELECTED ILD_BLEND50
376 #define ILD_FOCUS ILD_BLEND25
377 #define ILD_BLEND ILD_BLEND50
379 #define INDEXTOOVERLAYMASK(i) ((i)<<8)
381 #define ILCF_MOVE (0x00000000)
382 #define ILCF_SWAP (0x00000001)
385 typedef struct _IMAGEINFO
387 HBITMAP32 hbmImage;
388 HBITMAP32 hbmMask;
389 INT32 Unused1;
390 INT32 Unused2;
391 RECT32 rcImage;
392 } IMAGEINFO;
395 typedef struct _IMAGELISTDRAWPARAMS
397 DWORD cbSize;
398 HIMAGELIST himl;
399 INT32 i;
400 HDC32 hdcDst;
401 INT32 x;
402 INT32 y;
403 INT32 cx;
404 INT32 cy;
405 INT32 xBitmap; /* x offest from the upperleft of bitmap */
406 INT32 yBitmap; /* y offset from the upperleft of bitmap */
407 COLORREF rgbBk;
408 COLORREF rgbFg;
409 UINT32 fStyle;
410 DWORD dwRop;
411 } IMAGELISTDRAWPARAMS, *LPIMAGELISTDRAWPARAMS;
414 INT32 WINAPI ImageList_Add(HIMAGELIST,HBITMAP32,HBITMAP32);
415 INT32 WINAPI ImageList_AddIcon (HIMAGELIST, HICON32);
416 INT32 WINAPI ImageList_AddMasked(HIMAGELIST,HBITMAP32,COLORREF);
417 BOOL32 WINAPI ImageList_BeginDrag(HIMAGELIST,INT32,INT32,INT32);
418 BOOL32 WINAPI ImageList_Copy(HIMAGELIST,INT32,HIMAGELIST,INT32,INT32);
419 HIMAGELIST WINAPI ImageList_Create(INT32,INT32,UINT32,INT32,INT32);
420 BOOL32 WINAPI ImageList_Destroy(HIMAGELIST);
421 BOOL32 WINAPI ImageList_DragEnter(HWND32,INT32,INT32);
422 BOOL32 WINAPI ImageList_DragLeave(HWND32);
423 BOOL32 WINAPI ImageList_DragMove(INT32,INT32);
424 BOOL32 WINAPI ImageList_DragShowNolock (BOOL32);
425 BOOL32 WINAPI ImageList_Draw(HIMAGELIST,INT32,HDC32,INT32,INT32,UINT32);
426 BOOL32 WINAPI ImageList_DrawEx(HIMAGELIST,INT32,HDC32,INT32,INT32,INT32,
427 INT32,COLORREF,COLORREF,UINT32);
428 BOOL32 WINAPI ImageList_DrawIndirect(IMAGELISTDRAWPARAMS*);
429 HIMAGELIST WINAPI ImageList_Duplicate(HIMAGELIST);
430 BOOL32 WINAPI ImageList_EndDrag (VOID);
431 COLORREF WINAPI ImageList_GetBkColor(HIMAGELIST);
432 HIMAGELIST WINAPI ImageList_GetDragImage(POINT32*,POINT32*);
433 HICON32 WINAPI ImageList_GetIcon(HIMAGELIST,INT32,UINT32);
434 BOOL32 WINAPI ImageList_GetIconSize(HIMAGELIST,INT32*,INT32*);
435 INT32 WINAPI ImageList_GetImageCount(HIMAGELIST);
436 BOOL32 WINAPI ImageList_GetImageInfo(HIMAGELIST,INT32,IMAGEINFO*);
437 BOOL32 WINAPI ImageList_GetImageRect (HIMAGELIST,INT32,LPRECT32);
438 HIMAGELIST WINAPI ImageList_LoadImage32A(HINSTANCE32,LPCSTR,INT32,INT32,
439 COLORREF,UINT32,UINT32);
440 HIMAGELIST WINAPI ImageList_LoadImage32W(HINSTANCE32,LPCWSTR,INT32,INT32,
441 COLORREF,UINT32,UINT32);
442 #define ImageList_LoadImage WINELIB_NAME_AW(ImageList_LoadImage)
443 HIMAGELIST WINAPI ImageList_Merge(HIMAGELIST,INT32,HIMAGELIST,INT32,INT32,INT32);
444 #ifdef __IStream_INTREFACE_DEFINED__
445 HIMAGELIST WINAPI ImageList_Read (LPSTREAM32);
446 #endif
447 BOOL32 WINAPI ImageList_Remove(HIMAGELIST,INT32);
448 BOOL32 WINAPI ImageList_Replace(HIMAGELIST,INT32,HBITMAP32,HBITMAP32);
449 INT32 WINAPI ImageList_ReplaceIcon(HIMAGELIST,INT32,HICON32);
450 COLORREF WINAPI ImageList_SetBkColor(HIMAGELIST,COLORREF);
451 BOOL32 WINAPI ImageList_SetDragCursorImage(HIMAGELIST,INT32,INT32,INT32);
453 BOOL32 WINAPI ImageList_SetIconSize (HIMAGELIST,INT32,INT32);
454 BOOL32 WINAPI ImageList_SetImageCount (HIMAGELIST,INT32);
455 BOOL32 WINAPI ImageList_SetOverlayImage(HIMAGELIST,INT32,INT32);
456 #ifdef __IStream_INTREFACE_DEFINED__
457 BOOL32 WINAPI ImageList_Write (HIMAGELIST, LPSTREAM32);
458 #endif
460 #ifndef __WINE__
461 #define ImageList_AddIcon(himl,hicon) ImageList_ReplaceIcon(himl,-1,hicon)
462 #endif
463 #define ImageList_ExtractIcon(hi,himl,i) ImageList_GetIcon(himl,i,0)
464 #define ImageList_LoadBitmap(hi,lpbmp,cx,cGrow,crMask) \
465 ImageList_LoadImage(hi,lpbmp,cx,cGrow,crMask,IMAGE_BITMAP,0)
466 #define ImageList_RemoveAll(himl) ImageList_Remove(himl,-1)
469 /* Header control */
471 #define WC_HEADER16 "SysHeader"
472 #define WC_HEADER32A "SysHeader32"
473 #define WC_HEADER32W L"SysHeader32"
475 #define WC_HEADER WINELIB_NAME_AW(WC_HEADER)
477 #define HDS_HORZ 0x0000
478 #define HDS_BUTTONS 0x0002
479 #define HDS_HOTTRACK 0x0004
480 #define HDS_HIDDEN 0x0008
481 #define HDS_DRAGDROP 0x0040
482 #define HDS_FULLDRAG 0x0080
484 #define HDI_WIDTH 0x0001
485 #define HDI_HEIGHT HDI_WIDTH
486 #define HDI_TEXT 0x0002
487 #define HDI_FORMAT 0x0004
488 #define HDI_LPARAM 0x0008
489 #define HDI_BITMAP 0x0010
490 #define HDI_IMAGE 0x0020
491 #define HDI_DI_SETITEM 0x0040
492 #define HDI_ORDER 0x0080
494 #define HDF_LEFT 0x0000
495 #define HDF_RIGHT 0x0001
496 #define HDF_CENTER 0x0002
497 #define HDF_JUSTIFYMASK 0x0003
499 #define HDF_IMAGE 0x0800
500 #define HDF_BITMAP_ON_RIGHT 0x1000
501 #define HDF_BITMAP 0x2000
502 #define HDF_STRING 0x4000
503 #define HDF_OWNERDRAW 0x8000
505 #define HHT_NOWHERE 0x0001
506 #define HHT_ONHEADER 0x0002
507 #define HHT_ONDIVIDER 0x0004
508 #define HHT_ONDIVOPEN 0x0008
509 #define HHT_ABOVE 0x0100
510 #define HHT_BELOW 0x0200
511 #define HHT_TORIGHT 0x0400
512 #define HHT_TOLEFT 0x0800
514 #define HDM_FIRST 0x1200
515 #define HDM_GETITEMCOUNT (HDM_FIRST+0)
516 #define HDM_INSERTITEM32A (HDM_FIRST+1)
517 #define HDM_INSERTITEM32W (HDM_FIRST+10)
518 #define HDM_INSERTITEM WINELIB_NAME_AW(HDM_INSERTITEM)
519 #define HDM_DELETEITEM (HDM_FIRST+2)
520 #define HDM_GETITEM32A (HDM_FIRST+3)
521 #define HDM_GETITEM32W (HDM_FIRST+11)
522 #define HDM_GETITEM WINELIB_NAME_AW(HDM_GETITEM)
523 #define HDM_SETITEM32A (HDM_FIRST+4)
524 #define HDM_SETITEM32W (HDM_FIRST+12)
525 #define HDM_SETITEM WINELIB_NAME_AW(HDM_SETITEM)
526 #define HDM_LAYOUT (HDM_FIRST+5)
527 #define HDM_HITTEST (HDM_FIRST+6)
528 #define HDM_GETITEMRECT (HDM_FIRST+7)
529 #define HDM_SETIMAGELIST (HDM_FIRST+8)
530 #define HDM_GETIMAGELIST (HDM_FIRST+9)
533 #define HDM_ORDERTOINDEX (HDM_FIRST+15)
534 #define HDM_CREATEDRAGIMAGE (HDM_FIRST+16)
535 #define HDM_GETORDERARRAY (HDM_FIRST+17)
536 #define HDM_SETORDERARRAY (HDM_FIRST+18)
537 #define HDM_SETHOTDIVIDER (HDM_FIRST+19)
539 #define HDN_FIRST (0U-300U)
540 #define HDN_LAST (0U-399U)
541 #define HDN_ITEMCHANGING32A (HDN_FIRST-0)
542 #define HDN_ITEMCHANGING32W (HDN_FIRST-20)
543 #define HDN_ITEMCHANGED32A (HDN_FIRST-1)
544 #define HDN_ITEMCHANGED32W (HDN_FIRST-21)
545 #define HDN_ITEMCLICK32A (HDN_FIRST-2)
546 #define HDN_ITEMCLICK32W (HDN_FIRST-22)
547 #define HDN_ITEMDBLCLICK32A (HDN_FIRST-3)
548 #define HDN_ITEMDBLCLICK32W (HDN_FIRST-23)
549 #define HDN_DIVIDERDBLCLICK32A (HDN_FIRST-5)
550 #define HDN_DIVIDERDBLCLICK32W (HDN_FIRST-25)
551 #define HDN_BEGINTRACK32A (HDN_FIRST-6)
552 #define HDN_BEGINTRACK32W (HDN_FIRST-26)
553 #define HDN_ENDTRACK32A (HDN_FIRST-7)
554 #define HDN_ENDTRACK32W (HDN_FIRST-27)
555 #define HDN_TRACK32A (HDN_FIRST-8)
556 #define HDN_TRACK32W (HDN_FIRST-28)
557 #define HDN_GETDISPINFO32A (HDN_FIRST-9)
558 #define HDN_GETDISPINFO32W (HDN_FIRST-29)
559 #define HDN_BEGINDRACK (HDN_FIRST-10)
560 #define HDN_ENDDRACK (HDN_FIRST-11)
562 typedef struct _HD_LAYOUT
564 RECT32 *prc;
565 WINDOWPOS32 *pwpos;
566 } HDLAYOUT, *LPHDLAYOUT;
568 #define HD_LAYOUT HDLAYOUT
570 typedef struct _HD_ITEMA
572 UINT32 mask;
573 INT32 cxy;
574 LPSTR pszText;
575 HBITMAP32 hbm;
576 INT32 cchTextMax;
577 INT32 fmt;
578 LPARAM lParam;
579 INT32 iImage;
580 INT32 iOrder;
581 } HD_ITEMA;
583 typedef struct _HD_HITTESTINFO
585 POINT32 pt;
586 UINT32 flags;
587 INT32 iItem;
588 } HDHITTESTINFO, *LPHDHITTESTINFO;
590 #define HD_HITTESTINFO HDHITTESTINFO
592 typedef struct tagNMHEADERA
594 NMHDR hdr;
595 INT32 iItem;
596 INT32 iButton;
597 HD_ITEMA *pitem;
598 } NMHEADERA, *LPNMHEADERA;
601 #define Header_GetItemCount(hwndHD) \
602 (INT32)SendMessage32A((hwndHD),HDM_GETITEMCOUNT,0,0L)
603 #define Header_InsertItem(hwndHD,i,phdi) \
604 (INT32)SendMessage32A((hwndHD),HDM_INSERTITEM,(WPARAM32)(INT32)(i),\
605 (LPARAM)(const HD_ITEMA*)(phdi))
606 #define Header_DeleteItem(hwndHD,i) \
607 (BOOL32)SendMessage32A((hwndHD),HDM_DELETEITEM,(WPARAM32)(INT32)(i),0L)
608 #define Header_GetItem(hwndHD,i,phdi) \
609 (BOOL32)SendMessage32A((hwndHD),HDM_GETITEM,(WPARAM32)(INT32)(i),(LPARAM)(HD_ITEMA*)(phdi))
610 #define Header_SetItem(hwndHD,i,phdi) \
611 (BOOL32)SendMessage32A((hwndHD),HDM_SETITEM,(WPARAM32)(INT32)(i),(LPARAM)(const HD_ITEMA*)(phdi))
612 #define Header_Layout(hwndHD,playout) \
613 (BOOL32)SendMessage32A((hwndHD),HDM_LAYOUT,0,(LPARAM)(LPHDLAYOUT)(playout))
614 #define Header_GetItemRect(hwnd,iItem,lprc) \
615 (BOOL32)SendMessage32A((hwnd),HDM_GETITEMRECT,(WPARAM32)iItem,(LPARAM)lprc)
616 #define Header_SetImageList(hwnd,himl) \
617 (HIMAGELIST)SendMessage32A((hwnd),HDM_SETIMAGELIST,0,(LPARAM)himl)
618 #define Header_GetImageList(hwnd) \
619 (HIMAGELIST)SendMessage32A((hwnd),HDM_GETIMAGELIST,0,0)
620 #define Header_OrderToIndex(hwnd,i) \
621 (INT32)SendMessage32A((hwnd),HDM_ORDERTOINDEX,(WPARAM32)i,0)
622 #define Header_CreateDragImage(hwnd,i) \
623 (HIMAGELIST)SendMessage32A((hwnd),HDM_CREATEDRAGIMAGE,(WPARAM32)i,0)
624 #define Header_GetOrderArray(hwnd,iCount,lpi) \
625 (BOOL32)SendMessage32A((hwnd),HDM_GETORDERARRAY,(WPARAM32)iCount,(LPARAM)lpi)
626 #define Header_SetOrderArray(hwnd,iCount,lpi) \
627 (BOOL32)SendMessage32A((hwnd),HDM_SETORDERARRAY,(WPARAM32)iCount,(LPARAM)lpi)
628 #define Header_SetHotDivider(hwnd,fPos,dw) \
629 (INT32)SendMessage32A((hwnd),HDM_SETHOTDIVIDER,(WPARAM32)fPos,(LPARAM)dw)
630 #define Header_SetUnicodeFormat(hwnd,fUnicode) \
631 (BOOL32)SendMessage32A((hwnd),HDM_SETUNICODEFORMAT,(WPARAM32)(fUnicode),0)
632 #define Header_GetUnicodeFormat(hwnd) \
633 (BOOL32)SendMessage32A((hwnd),HDM_GETUNICODEFORMAT,0,0)
636 /* Toolbar */
638 #define TOOLBARCLASSNAME16 "ToolbarWindow"
639 #define TOOLBARCLASSNAME32W L"ToolbarWindow32"
640 #define TOOLBARCLASSNAME32A "ToolbarWindow32"
641 #define TOOLBARCLASSNAME WINELIB_NAME_AW(TOOLBARCLASSNAME)
644 #define CMB_MASKED 0x02
646 #define TBSTATE_CHECKED 0x01
647 #define TBSTATE_PRESSED 0x02
648 #define TBSTATE_ENABLED 0x04
649 #define TBSTATE_HIDDEN 0x08
650 #define TBSTATE_INDETERMINATE 0x10
651 #define TBSTATE_WRAP 0x20
652 #define TBSTATE_ELLIPSES 0x40
653 #define TBSTATE_MARKED 0x80
656 #define TBSTYLE_BUTTON 0x00
657 #define TBSTYLE_SEP 0x01
658 #define TBSTYLE_CHECK 0x02
659 #define TBSTYLE_GROUP 0x04
660 #define TBSTYLE_CHECKGROUP (TBSTYLE_GROUP | TBSTYLE_CHECK)
661 #define TBSTYLE_DROPDOWN 0x08
663 #define TBSTYLE_TOOLTIPS 0x0100
664 #define TBSTYLE_WRAPABLE 0x0200
665 #define TBSTYLE_ALTDRAG 0x0400
666 #define TBSTYLE_FLAT 0x0800
667 #define TBSTYLE_LIST 0x1000
668 #define TBSTYLE_CUSTOMERASE 0x2000
670 #define TBIF_IMAGE 0x00000001
671 #define TBIF_TEXT 0x00000002
672 #define TBIF_STATE 0x00000004
673 #define TBIF_STYLE 0x00000008
674 #define TBIF_LPARAM 0x00000010
675 #define TBIF_COMMAND 0x00000020
676 #define TBIF_SIZE 0x00000040
678 #define TBN_FIRST (0U-700U)
679 #define TBN_LAST (0U-720U)
680 #define TBN_GETBUTTONINFO32A (TBN_FIRST-0)
681 #define TBN_GETBUTTONINFO32W (TBN_FIRST-20)
683 #define TBN_GETINFOTIP32A (TBN_FIRST-18)
684 #define TBN_GETINFOTIP32W (TBN_FIRST-19)
687 #define TB_ENABLEBUTTON (WM_USER+1)
688 #define TB_CHECKBUTTON (WM_USER+2)
689 #define TB_PRESSBUTTON (WM_USER+3)
690 #define TB_HIDEBUTTON (WM_USER+4)
691 #define TB_INDETERMINATE (WM_USER+5)
692 #define TB_ISBUTTONENABLED (WM_USER+9)
693 #define TB_ISBUTTONCHECKED (WM_USER+10)
694 #define TB_ISBUTTONPRESSED (WM_USER+11)
695 #define TB_ISBUTTONHIDDEN (WM_USER+12)
696 #define TB_ISBUTTONINDETERMINATE (WM_USER+13)
697 #define TB_ISBUTTONHIGHLIGHTED (WM_USER+14)
698 #define TB_SETSTATE (WM_USER+17)
699 #define TB_GETSTATE (WM_USER+18)
700 #define TB_ADDBITMAP (WM_USER+19)
701 #define TB_ADDBUTTONS32A (WM_USER+20)
702 #define TB_ADDBUTTONS32W (WM_USER+68)
703 #define TB_ADDBUTTONS WINELIB_NAME_AW(TB_ADDBUTTONS)
704 #define TB_HITTEST (WM_USER+69)
705 #define TB_INSERTBUTTON32A (WM_USER+21)
706 #define TB_INSERTBUTTON32W (WM_USER+67)
707 #define TB_INSERTBUTTON WINELIB_NAME_AW(TB_INSERTBUTTON)
708 #define TB_DELETEBUTTON (WM_USER+22)
709 #define TB_GETBUTTON (WM_USER+23)
710 #define TB_BUTTONCOUNT (WM_USER+24)
711 #define TB_COMMANDTOINDEX (WM_USER+25)
712 #define TB_SAVERESTORE32A (WM_USER+26)
713 #define TB_SAVERESTORE32W (WM_USER+76)
714 #define TB_SAVERESTORE WINELIB_NAME_AW(TB_SAVERESTORE)
715 #define TB_CUSTOMIZE (WM_USER+27)
716 #define TB_ADDSTRING32A (WM_USER+28)
717 #define TB_ADDSTRING32W (WM_USER+77)
718 #define TB_ADDSTRING WINELIB_NAME_AW(TB_ADDSTRING)
719 #define TB_GETITEMRECT (WM_USER+29)
720 #define TB_BUTTONSTRUCTSIZE (WM_USER+30)
721 #define TB_SETBUTTONSIZE (WM_USER+31)
722 #define TB_SETBITMAPSIZE (WM_USER+32)
723 #define TB_AUTOSIZE (WM_USER+33)
724 #define TB_GETTOOLTIPS (WM_USER+35)
725 #define TB_SETTOOLTIPS (WM_USER+36)
726 #define TB_SETPARENT (WM_USER+37)
727 #define TB_SETROWS (WM_USER+39)
728 #define TB_GETROWS (WM_USER+40)
729 #define TB_GETBITMAPFLAGS (WM_USER+41)
730 #define TB_SETCMDID (WM_USER+42)
731 #define TB_CHANGEBITMAP (WM_USER+43)
732 #define TB_GETBITMAP (WM_USER+44)
733 #define TB_GETBUTTONTEXT32A (WM_USER+45)
734 #define TB_GETBUTTONTEXT32W (WM_USER+75)
735 #define TB_GETBUTTONTEXT WINELIB_NAME_AW(TB_GETBUTTONTEXT)
736 #define TB_REPLACEBITMAP (WM_USER+46)
737 #define TB_SETINDENT (WM_USER+47)
738 #define TB_SETIMAGELIST (WM_USER+48)
739 #define TB_GETIMAGELIST (WM_USER+49)
740 #define TB_LOADIMAGES (WM_USER+50)
741 #define TB_GETRECT (WM_USER+51) /* wParam is the Cmd instead of index */
742 #define TB_SETHOTIMAGELIST (WM_USER+52)
743 #define TB_GETHOTIMAGELIST (WM_USER+53)
744 #define TB_SETDISABLEDIMAGELIST (WM_USER+54)
745 #define TB_GETDISABLEDIMAGELIST (WM_USER+55)
746 #define TB_SETSTYLE (WM_USER+56)
747 #define TB_GETSTYLE (WM_USER+57)
748 #define TB_GETBUTTONSIZE (WM_USER+58)
749 #define TB_SETBUTTONWIDTH (WM_USER+59)
750 #define TB_SETMAXTEXTROWS (WM_USER+60)
751 #define TB_GETTEXTROWS (WM_USER+61)
752 #define TB_GETOBJECT (WM_USER+62)
753 #define TB_GETBUTTONINFO32W (WM_USER+63)
754 #define TB_GETBUTTONINFO32A (WM_USER+65)
755 #define TB_GETBUTTONINFO WINELIB_NAME_AW(TB_GETBUTTONINFO)
756 #define TB_SETBUTTONINFO32W (WM_USER+64)
757 #define TB_SETBUTTONINFO32A (WM_USER+66)
758 #define TB_SETBUTTONINFO WINELIB_NAME_AW(TB_SETBUTTONINFO)
759 #define TB_SETDRAWTEXTFLAGS (WM_USER+70)
760 #define TB_GETHOTITEM (WM_USER+71)
761 #define TB_SETHOTITEM (WM_USER+72)
762 #define TB_SETANCHORHIGHLIGHT (WM_USER+73)
763 #define TB_GETANCHORHIGHLIGHT (WM_USER+74)
764 #define TB_MAPACCELERATOR32A (WM_USER+78)
765 #define TB_MAPACCELERATOR32W (WM_USER+90)
766 #define TB_MAPACCELERATOR WINELIB_NAME_AW(TB_MAPACCELERATOR)
767 #define TB_GETINSERTMARK (WM_USER+79)
768 #define TB_SETINSERTMARK (WM_USER+80)
769 #define TB_INSERTMARKHITTEST (WM_USER+81)
770 #define TB_MOVEBUTTON (WM_USER+82)
771 #define TB_GETMAXSIZE (WM_USER+83)
772 #define TB_SETEXTENDEDSTYLE (WM_USER+84)
773 #define TB_GETEXTENDEDSTYLE (WM_USER+85)
774 #define TB_GETPADDING (WM_USER+86)
775 #define TB_SETPADDING (WM_USER+87)
776 #define TB_SETINSERTMARKCOLOR (WM_USER+88)
777 #define TB_GETINSERTMARKCOLOR (WM_USER+89)
779 #define TB_SETCOLORSCHEME CCM_SETCOLORSCHEME
780 #define TB_GETCOLORSCHEME CCM_GETCOLORSCHEME
782 #define TB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
783 #define TB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
786 /* This is just for old CreateToolbar. */
787 /* Don't use it in new programs. */
788 typedef struct _OLDTBBUTTON {
789 INT32 iBitmap;
790 INT32 idCommand;
791 BYTE fsState;
792 BYTE fsStyle;
793 BYTE bReserved[2];
794 DWORD dwData;
795 } OLDTBBUTTON, *POLDTBBUTTON, *LPOLDTBBUTTON;
796 typedef const OLDTBBUTTON *LPCOLDTBBUTTON;
799 typedef struct _TBBUTTON {
800 INT32 iBitmap;
801 INT32 idCommand;
802 BYTE fsState;
803 BYTE fsStyle;
804 BYTE bReserved[2];
805 DWORD dwData;
806 INT32 iString;
807 } TBBUTTON, *PTBBUTTON, *LPTBBUTTON;
808 typedef const TBBUTTON *LPCTBBUTTON;
811 typedef struct _COLORMAP {
812 COLORREF from;
813 COLORREF to;
814 } COLORMAP, *LPCOLORMAP;
816 typedef struct tagTBADDBITMAP {
817 HINSTANCE32 hInst;
818 UINT32 nID;
819 } TBADDBITMAP, *LPTBADDBITMAP;
821 #define HINST_COMMCTRL ((HINSTANCE32)-1)
824 typedef struct tagTBSAVEPARAMSA {
825 HKEY hkr;
826 LPCSTR pszSubKey;
827 LPCSTR pszValueName;
828 } TBSAVEPARAMS32A, *LPTBSAVEPARAMS32A;
830 typedef struct tagTBSAVEPARAMSW {
831 HKEY hkr;
832 LPCWSTR pszSubKey;
833 LPCWSTR pszValueName;
834 } TBSAVEPARAMSA32W, *LPTBSAVEPARAMSA32W;
836 #define TBSAVEPARAMS WINELIB_NAMEAW(TBSAVEPARAMS)
837 #define LPTBSAVEPARAMS WINELIB_NAMEAW(LPTBSAVEPARAMS)
839 typedef struct
841 UINT32 cbSize;
842 DWORD dwMask;
843 INT32 idCommand;
844 INT32 iImage;
845 BYTE fsState;
846 BYTE fsStyle;
847 WORD cx;
848 DWORD lParam;
849 LPSTR pszText;
850 INT32 cchText;
851 } TBBUTTONINFO32A, *LPTBBUTTONINFO32A;
853 typedef struct
855 UINT32 cbSize;
856 DWORD dwMask;
857 INT32 idCommand;
858 INT32 iImage;
859 BYTE fsState;
860 BYTE fsStyle;
861 WORD cx;
862 DWORD lParam;
863 LPWSTR pszText;
864 INT32 cchText;
865 } TBBUTTONINFO32W, *LPTBBUTTONINFO32W;
867 #define TBBUTTONINFO WINELIB_NAMEAW(TBBUTTONINFO)
868 #define LPTBBUTTONINFO WINELIB_NAMEAW(LPTBBUTTONINFO)
870 typedef struct tagNMTBGETINFOTIPA
872 NMHDR hdr;
873 LPSTR pszText;
874 INT32 cchTextMax;
875 INT32 iItem;
876 LPARAM lParam;
877 } NMTBGETINFOTIP32A, *LPNMTBGETINFOTIP32A;
879 typedef struct tagNMTBGETINFOTIPW
881 NMHDR hdr;
882 LPWSTR pszText;
883 INT32 cchTextMax;
884 INT32 iItem;
885 LPARAM lParam;
886 } NMTBGETINFOTIP32W, *LPNMTBGETINFOTIP32W;
888 #define NMTBGETINFOTIP WINELIB_NAMEAW(NMTBGETINFOFTIP)
889 #define LPNMTBGETINFOTIP WINELIB_NAMEAW(LPNMTBGETINFOTIP)
892 HWND32 WINAPI
893 CreateToolbar(HWND32, DWORD, UINT32, INT32, HINSTANCE32,
894 UINT32, LPCOLDTBBUTTON, INT32);
896 HWND32 WINAPI
897 CreateToolbarEx(HWND32, DWORD, UINT32, INT32,
898 HINSTANCE32, UINT32, LPCTBBUTTON,
899 INT32, INT32, INT32, INT32, INT32, UINT32);
901 HBITMAP32 WINAPI
902 CreateMappedBitmap (HINSTANCE32, INT32, UINT32, LPCOLORMAP, INT32);
905 /* Tool tips */
907 #define TOOLTIPS_CLASS16 "tooltips_class"
908 #define TOOLTIPS_CLASS32W L"tooltips_class32"
909 #define TOOLTIPS_CLASS32A "tooltips_class32"
910 #define TOOLTIPS_CLASS WINELIB_NAME_AW(TOOLTIPS_CLASS)
912 #define INFOTIPSIZE 1024
914 #define TTS_ALWAYSTIP 0x01
915 #define TTS_NOPREFIX 0x02
917 #define TTF_IDISHWND 0x0001
918 #define TTF_CENTERTIP 0x0002
919 #define TTF_RTLREADING 0x0004
920 #define TTF_SUBCLASS 0x0010
921 #define TTF_TRACK 0x0020
922 #define TTF_ABSOLUTE 0x0080
923 #define TTF_TRANSPARENT 0x0100
924 #define TTF_DI_SETITEM 0x8000 /* valid only on the TTN_NEEDTEXT callback */
927 #define TTDT_AUTOMATIC 0
928 #define TTDT_RESHOW 1
929 #define TTDT_AUTOPOP 2
930 #define TTDT_INITIAL 3
933 #define TTM_ACTIVATE (WM_USER+1)
934 #define TTM_SETDELAYTIME (WM_USER+3)
935 #define TTM_ADDTOOL32A (WM_USER+4)
936 #define TTM_ADDTOOL32W (WM_USER+50)
937 #define TTM_ADDTOOL WINELIB_NAME_AW(TTM_ADDTOOL)
938 #define TTM_DELTOOL32A (WM_USER+5)
939 #define TTM_DELTOOL32W (WM_USER+51)
940 #define TTM_DELTOOL WINELIB_NAME_AW(TTM_DELTOOL)
941 #define TTM_NEWTOOLRECT32A (WM_USER+6)
942 #define TTM_NEWTOOLRECT32W (WM_USER+52)
943 #define TTM_NEWTOOLRECT WINELIB_NAME_AW(TTM_NEWTOOLRECT)
944 #define TTM_RELAYEVENT (WM_USER+7)
945 #define TTM_GETTOOLINFO32A (WM_USER+8)
946 #define TTM_GETTOOLINFO32W (WM_USER+53)
947 #define TTM_GETTOOLINFO WINELIB_NAME_AW(TTM_GETTOOLINFO)
948 #define TTM_SETTOOLINFO32A (WM_USER+9)
949 #define TTM_SETTOOLINFO32W (WM_USER+54)
950 #define TTM_SETTOOLINFO WINELIB_NAME_AW(TTM_SETTOOLINFO)
951 #define TTM_HITTEST32A (WM_USER+10)
952 #define TTM_HITTEST32W (WM_USER+55)
953 #define TTM_HITTEST WINELIB_NAME_AW(TTM_HITTEST)
954 #define TTM_GETTEXT32A (WM_USER+11)
955 #define TTM_GETTEXT32W (WM_USER+56)
956 #define TTM_GETTEXT WINELIB_NAME_AW(TTM_GETTEXT)
957 #define TTM_UPDATETIPTEXT32A (WM_USER+12)
958 #define TTM_UPDATETIPTEXT32W (WM_USER+57)
959 #define TTM_UPDATETIPTEXT WINELIB_NAME_AW(TTM_UPDATETIPTEXT)
960 #define TTM_GETTOOLCOUNT (WM_USER+13)
961 #define TTM_ENUMTOOLS32A (WM_USER+14)
962 #define TTM_ENUMTOOLS32W (WM_USER+58)
963 #define TTM_ENUMTOOLS WINELIB_NAME_AW(TTM_ENUMTOOLS)
964 #define TTM_GETCURRENTTOOL32A (WM_USER+15)
965 #define TTM_GETCURRENTTOOL32W (WM_USER+59)
966 #define TTM_GETCURRENTTOOL WINELIB_NAME_AW(TTM_GETCURRENTTOOL)
967 #define TTM_WINDOWFROMPOINT (WM_USER+16)
968 #define TTM_TRACKACTIVATE (WM_USER+17)
969 #define TTM_TRACKPOSITION (WM_USER+18)
970 #define TTM_SETTIPBKCOLOR (WM_USER+19)
971 #define TTM_SETTIPTEXTCOLOR (WM_USER+20)
972 #define TTM_GETDELAYTIME (WM_USER+21)
973 #define TTM_GETTIPBKCOLOR (WM_USER+22)
974 #define TTM_GETTIPTEXTCOLOR (WM_USER+23)
975 #define TTM_SETMAXTIPWIDTH (WM_USER+24)
976 #define TTM_GETMAXTIPWIDTH (WM_USER+25)
977 #define TTM_SETMARGIN (WM_USER+26)
978 #define TTM_GETMARGIN (WM_USER+27)
979 #define TTM_POP (WM_USER+28)
980 #define TTM_UPDATE (WM_USER+29)
983 #define TTN_FIRST (0U-520U)
984 #define TTN_LAST (0U-549U)
985 #define TTN_GETDISPINFO32A (TTN_FIRST-0)
986 #define TTN_GETDISPINFO32W (TTN_FIRST-10)
987 #define TTN_GETDISPINFO WINELIB_NAME_AW(TTN_GETDISPINFO)
988 #define TTN_SHOW (TTN_FIRST-1)
989 #define TTN_POP (TTN_FIRST-2)
991 typedef struct tagTOOLINFOA {
992 UINT32 cbSize;
993 UINT32 uFlags;
994 HWND32 hwnd;
995 UINT32 uId;
996 RECT32 rect;
997 HINSTANCE32 hinst;
998 LPSTR lpszText;
999 LPARAM lParam;
1000 } TTTOOLINFO32A, *PTOOLINFO32A, *LPTTTOOLINFO32A;
1002 typedef struct tagTOOLINFOW {
1003 UINT32 cbSize;
1004 UINT32 uFlags;
1005 HWND32 hwnd;
1006 UINT32 uId;
1007 RECT32 rect;
1008 HINSTANCE32 hinst;
1009 LPWSTR lpszText;
1010 LPARAM lParam;
1011 } TTTOOLINFO32W, *PTOOLINFO32W, *LPTTTOOLINFO32W;
1013 #define TTTOOLINFO WINELIB_NAME_AW(TTTOOLINFO)
1014 #define PTOOLINFO WINELIB_NAME_AW(PTOOLINFO)
1015 #define LPTTTOOLINFO WINELIB_NAME_AW(LPTTTOOLINFO)
1017 typedef struct _TT_HITTESTINFOA
1019 HWND32 hwnd;
1020 POINT32 pt;
1021 TTTOOLINFO32A ti;
1022 } TTHITTESTINFO32A, *LPTTHITTESTINFO32A;
1024 typedef struct _TT_HITTESTINFOW
1026 HWND32 hwnd;
1027 POINT32 pt;
1028 TTTOOLINFO32W ti;
1029 } TTHITTESTINFO32W, *LPTTHITTESTINFO32W;
1031 #define TTHITTESTINFO WINELIB_NAME_AW(TTHITTESTINFO)
1032 #define LPTTHITTESTINFO WINELIB_NAME_AW(LPTTHITTESTINFO)
1034 typedef struct tagNMTTDISPINFOA
1036 NMHDR hdr;
1037 LPSTR lpszText;
1038 CHAR szText[80];
1039 HINSTANCE32 hinst;
1040 UINT32 uFlags;
1041 LPARAM lParam;
1042 } NMTTDISPINFO32A, *LPNMTTDISPINFO32A;
1044 typedef struct tagNMTTDISPINFOW
1046 NMHDR hdr;
1047 LPWSTR lpszText;
1048 WCHAR szText[80];
1049 HINSTANCE32 hinst;
1050 UINT32 uFlags;
1051 LPARAM lParam;
1052 } NMTTDISPINFO32W, *LPNMTTDISPINFO32W;
1054 #define NMTTDISPINFO WINELIB_NAME_AW(NMTTDISPINFO)
1055 #define LPNMTTDISPINFO WINELIB_NAME_AW(LPNMTTDISPINFO)
1058 /* Rebar control */
1060 #define REBARCLASSNAME16 "ReBarWindow"
1061 #define REBARCLASSNAME32A "ReBarWindow32"
1062 #define REBARCLASSNAME32W L"ReBarWindow32"
1063 #define REBARCLASSNAME WINELIB_NAME_AW(REBARCLASSNAME)
1065 #define RBIM_IMAGELIST 0x00000001
1067 #define RBBIM_STYLE 0x00000001
1068 #define RBBIM_COLORS 0x00000002
1069 #define RBBIM_TEXT 0x00000004
1070 #define RBBIM_IMAGE 0x00000008
1071 #define RBBIM_CHILD 0x00000010
1072 #define RBBIM_CHILDSIZE 0x00000020
1073 #define RBBIM_SIZE 0x00000040
1074 #define RBBIM_BACKGROUND 0x00000080
1075 #define RBBIM_ID 0x00000100
1076 #define RBBIM_IDEALSIZE 0x00000200
1077 #define RBBIM_LPARAM 0x00000400
1078 #define RBBIM_HEADERSIZE 0x00000800
1081 #define RB_INSERTBAND32A (WM_USER+1)
1082 #define RB_INSERTBAND32W (WM_USER+10)
1083 #define RB_INSERTBANND WINELIB_NAME_AW(RB_INSERTBAND)
1084 #define RB_DELETEBAND (WM_USER+2)
1085 #define RB_GETBARINFO (WM_USER+3)
1086 #define RB_SETBARINFO (WM_USER+4)
1087 #define RB_GETBANDINFO32 (WM_USER+5) /* just for compatibility */
1088 #define RB_SETBANDINFO32A (WM_USER+6)
1089 #define RB_SETBANDINFO32W (WM_USER+11)
1090 #define RB_SETBANDINFO WINELIB_NAME_AW(RB_SETBANDINFO)
1091 #define RB_SETPARENT (WM_USER+7)
1092 #define RB_HITTEST (WM_USER+8)
1093 #define RB_GETRECT (WM_USER+9)
1094 #define RB_GETBANDCOUNT (WM_USER+12)
1095 #define RB_GETROWCOUNT (WM_USER+13)
1096 #define RB_GETROWHEIGHT (WM_USER+14)
1097 #define RB_IDTOINDEX (WM_USER+16)
1098 #define RB_GETTOOLTIPS (WM_USER+17)
1099 #define RB_SETTOOLTIPS (WM_USER+18)
1100 #define RB_SETBKCOLOR (WM_USER+19)
1101 #define RB_GETBKCOLOR (WM_USER+20)
1102 #define RB_SETTEXTCOLOR (WM_USER+21)
1103 #define RB_GETTEXTCOLOR (WM_USER+22)
1104 #define RB_SIZETORECT (WM_USER+23)
1105 #define RB_BEGINDRAG (WM_USER+24)
1106 #define RB_ENDDRAG (WM_USER+25)
1107 #define RB_DRAGMOVE (WM_USER+26)
1108 #define RB_GETBARHEIGHT (WM_USER+27)
1109 #define RB_GETBANDINFO32W (WM_USER+28)
1110 #define RB_GETBANDINFO32A (WM_USER+29)
1111 #define RB_GETBANDINFO WINELIB_NAME_AW(RB_GETBANDINFO)
1112 #define RB_MINIMIZEBAND (WM_USER+30)
1113 #define RB_MAXIMIZEBAND (WM_USER+31)
1115 #define RB_GETBANDORDERS (WM_USER+34)
1116 #define RB_SHOWBAND (WM_USER+35)
1118 #define RB_SETPALETTE (WM_USER+37)
1119 #define RB_GETPALETTE (WM_USER+38)
1120 #define RB_MOVEBAND (WM_USER+39)
1121 #define RB_GETDROPTARGET CCS_GETDROPTARGET
1122 #define RB_SETCOLORSCHEME CCS_SETCOLORSCHEME
1123 #define RB_GETCOLORSCHEME CCS_GETCOLORSCHEME
1124 #define RB_SETUNICODEFORMAT CCS_SETUNICODEFORMAT
1125 #define RB_GETUNICODEFORMAT CCS_GETUNICODEFORMAT
1128 typedef struct tagREBARINFO
1130 UINT32 cbSize;
1131 UINT32 fMask;
1132 HIMAGELIST himl;
1133 } REBARINFO, *LPREBARINFO;
1135 typedef struct tagREBARBANDINFOA
1137 UINT32 cbSize;
1138 UINT32 fMask;
1139 UINT32 fStyle;
1140 COLORREF clrFore;
1141 COLORREF clrBack;
1142 LPSTR lpText;
1143 UINT32 cch;
1144 INT32 iImage;
1145 HWND32 hwndChild;
1146 UINT32 cxMinChild;
1147 UINT32 cyMinChild;
1148 UINT32 cx;
1149 HBITMAP32 hbmBack;
1150 UINT32 wID;
1151 UINT32 cyChild;
1152 UINT32 cyMaxChild;
1153 UINT32 cyIntegral;
1154 UINT32 cxIdeal;
1155 LPARAM lParam;
1156 UINT32 cxHeader;
1157 } REBARBANDINFO32A, *LPREBARBANDINFO32A;
1163 /* Trackbar control */
1165 #define TRACKBAR_CLASS16 "msctls_trackbar"
1166 #define TRACKBAR_CLASS32A "msctls_trackbar32"
1167 #define TRACKBAR_CLASS32W L"msctls_trackbar32"
1168 #define TRACKBAR_CLASS WINELIB_NAME_AW(TRACKBAR_CLASS)
1170 #define TBS_AUTOTICKS 0x0001
1171 #define TBS_VERT 0x0002
1172 #define TBS_HORZ 0x0000
1173 #define TBS_TOP 0x0004
1174 #define TBS_BOTTOM 0x0000
1175 #define TBS_LEFT 0x0004
1176 #define TBS_RIGHT 0x0000
1177 #define TBS_BOTH 0x0008
1178 #define TBS_NOTICKS 0x0010
1179 #define TBS_ENABLESELRANGE 0x0020
1180 #define TBS_FIXEDLENGTH 0x0040
1181 #define TBS_NOTHUMB 0x0080
1182 #define TBS_TOOLTIPS 0x0100
1184 #define TBTS_TOP 0
1185 #define TBTS_LEFT 1
1186 #define TBTS_BOTTOM 2
1187 #define TBTS_RIGHT 3
1189 #define TB_LINEUP 0
1190 #define TB_LINEDOWN 1
1191 #define TB_PAGEUP 2
1192 #define TB_PAGEDOWN 3
1193 #define TB_THUMBPOSITION 4
1194 #define TB_THUMBTRACK 5
1195 #define TB_TOP 6
1196 #define TB_BOTTOM 7
1197 #define TB_ENDTRACK 8
1199 #define TBCD_TICS 0x0001
1200 #define TBCD_THUMB 0x0002
1201 #define TBCD_CHANNEL 0x0003
1203 #define TBM_GETPOS (WM_USER)
1204 #define TBM_GETRANGEMIN (WM_USER+1)
1205 #define TBM_GETRANGEMAX (WM_USER+2)
1206 #define TBM_GETTIC (WM_USER+3)
1207 #define TBM_SETTIC (WM_USER+4)
1208 #define TBM_SETPOS (WM_USER+5)
1209 #define TBM_SETRANGE (WM_USER+6)
1210 #define TBM_SETRANGEMIN (WM_USER+7)
1211 #define TBM_SETRANGEMAX (WM_USER+8)
1212 #define TBM_CLEARTICS (WM_USER+9)
1213 #define TBM_SETSEL (WM_USER+10)
1214 #define TBM_SETSELSTART (WM_USER+11)
1215 #define TBM_SETSELEND (WM_USER+12)
1216 #define TBM_GETPTICS (WM_USER+14)
1217 #define TBM_GETTICPOS (WM_USER+15)
1218 #define TBM_GETNUMTICS (WM_USER+16)
1219 #define TBM_GETSELSTART (WM_USER+17)
1220 #define TBM_GETSELEND (WM_USER+18)
1221 #define TBM_CLEARSEL (WM_USER+19)
1222 #define TBM_SETTICFREQ (WM_USER+20)
1223 #define TBM_SETPAGESIZE (WM_USER+21)
1224 #define TBM_GETPAGESIZE (WM_USER+22)
1225 #define TBM_SETLINESIZE (WM_USER+23)
1226 #define TBM_GETLINESIZE (WM_USER+24)
1227 #define TBM_GETTHUMBRECT (WM_USER+25)
1228 #define TBM_GETCHANNELRECT (WM_USER+26)
1229 #define TBM_SETTHUMBLENGTH (WM_USER+27)
1230 #define TBM_GETTHUMBLENGTH (WM_USER+28)
1231 #define TBM_SETTOOLTIPS (WM_USER+29)
1232 #define TBM_GETTOOLTIPS (WM_USER+30)
1233 #define TBM_SETTIPSIDE (WM_USER+31)
1234 #define TBM_SETBUDDY (WM_USER+32)
1235 #define TBM_GETBUDDY (WM_USER+33)
1236 #define TBM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
1237 #define TBM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
1240 /* Pager control */
1242 #define WC_PAGESCROLLER32A "SysPager"
1243 #define WC_PAGESCROLLER32W L"SysPager"
1244 #define WC_PAGESCROLLER WINELIB_NAME_AW(WC_PAGESCROLLER)
1246 #define PGS_VERT 0x00000000
1247 #define PGS_HORZ 0x00000001
1248 #define PGS_AUTOSCROLL 0x00000002
1249 #define PGS_DRAGNDROP 0x00000004
1251 #define PGF_INVISIBLE 0
1252 #define PGF_NORMAL 1
1253 #define PGF_GRAYED 2
1254 #define PGF_DEPRESSED 4
1255 #define PGF_HOT 8
1257 #define PGB_TOPORLEFT 0
1258 #define PGB_BOTTOMORRIGHT 1
1260 #define PGM_FIRST 0x1400
1262 #define PGM_SETCHILD (PGM_FIRST+1)
1263 #define PGM_RECALCSIZE (PGM_FIRST+2)
1264 #define PGM_FORWARDMOUSE (PGM_FIRST+3)
1265 #define PGM_SETBKCOLOR (PGM_FIRST+4)
1266 #define PGM_GETBKCOLOR (PGM_FIRST+5)
1267 #define PGM_SETBORDER (PGM_FIRST+6)
1268 #define PGM_GETBORDER (PGM_FIRST+7)
1269 #define PGM_SETPOS (PGM_FIRST+8)
1270 #define PGM_GETPOS (PGM_FIRST+9)
1271 #define PGM_SETBUTTONSIZE (PGM_FIRST+10)
1272 #define PGM_GETBUTTONSIZE (PGM_FIRST+11)
1273 #define PGM_GETBUTTONSTATE (PGM_FIRST+12)
1274 #define PGM_GETDROPTARGET CCM_GETDROPTARGET
1278 /* Treeview control */
1280 #define WC_TREEVIEW32A "SysTreeView32"
1281 #define WC_TREEVIEW32W L"SysTreeView32"
1282 #define WC_TREEVIEW WINELIB_NAME_AW(WC_TREEVIEW)
1284 #define TVSIL_NORMAL 0
1285 #define TVSIL_STATE 2
1287 #define TV_FIRST 0x1100
1289 #define TVM_INSERTITEMA (TV_FIRST+0)
1290 #define TVM_INSERTITEMW (TV_FIRST+50)
1291 #define TVM_DELETEITEM (TV_FIRST+1)
1292 #define TVM_EXPAND (TV_FIRST+2)
1293 #define TVM_GETITEMRECT (TV_FIRST+4)
1294 #define TVM_GETCOUNT (TV_FIRST+5)
1295 #define TVM_GETINDENT (TV_FIRST+6)
1296 #define TVM_SETINDENT (TV_FIRST+7)
1297 #define TVM_GETIMAGELIST (TV_FIRST+8)
1298 #define TVM_SETIMAGELIST (TV_FIRST+9)
1299 #define TVM_GETNEXTITEM (TV_FIRST+10)
1300 #define TVM_SELECTITEM (TV_FIRST+11)
1301 #define TVM_GETITEMA (TV_FIRST+12)
1302 #define TVM_GETITEMW (TV_FIRST+62)
1303 #define TVM_SETITEMA (TV_FIRST+13)
1304 #define TVM_SETITEMW (TV_FIRST+63)
1305 #define TVM_EDITLABELA (TV_FIRST+14)
1306 #define TVM_EDITLABELW (TV_FIRST+65)
1307 #define TVM_GETEDITCONTROL (TV_FIRST+15)
1308 #define TVM_GETVISIBLECOUNT (TV_FIRST+16)
1309 #define TVM_HITTEST (TV_FIRST+17)
1310 #define TVM_CREATEDRAGIMAGE (TV_FIRST+18)
1311 #define TVM_SORTCHILDREN (TV_FIRST+19)
1312 #define TVM_ENSUREVISIBLE (TV_FIRST+20)
1313 #define TVM_SORTCHILDRENCB (TV_FIRST+21)
1314 #define TVM_ENDEDITLABELNOW (TV_FIRST+22)
1315 #define TVM_GETISEARCHSTRINGA (TV_FIRST+23)
1316 #define TVM_GETISEARCHSTRINGW (TV_FIRST+64)
1317 #define TVM_SETTOOLTIPS (TV_FIRST+24)
1318 #define TVM_GETTOOLTIPS (TV_FIRST+25)
1320 /* Listview control */
1322 #define WC_LISTVIEW32A "SysListView32"
1323 #define WC_LISTVIEW32W L"SysListView32"
1324 #define WC_LISTVIEW WINELIB_NAME_AW(WC_LISTVIEW)
1326 #define LVM_FIRST 0x1000
1328 #define LVM_SETBKCOLOR (LVM_FIRST+1)
1329 #define LVM_GETIMAGELIST (LVM_FIRST+2)
1330 #define LVM_SETIMAGELIST (LVM_FIRST+3)
1331 #define LVM_GETITEMCOUNT (LVM_FIRST+4)
1332 #define LVM_GETITEM (LVM_FIRST+5)
1333 #define LVM_INSERTITEM (LVM_FIRST+7)
1334 #define LVM_DELETEALLITEMS (LVM_FIRST+9)
1335 #define LVM_SETITEMPOSITION (LVM_FIRST+15)
1336 #define LVM_INSERTCOLUMN (LVM_FIRST+27)
1337 #define LVM_SORTITEMS (LVM_FIRST+48)
1338 #define LVM_GETSELECTEDCOUNT (LVM_FIRST+50)
1340 #define LVS_ICON 0x0000
1341 #define LVS_REPORT 0x0001
1342 #define LVS_SMALLICON 0x0002
1343 #define LVS_LIST 0x0003
1344 #define LVS_TYPEMASK 0x0003
1345 #define LVS_SINGLESEL 0x0004
1346 #define LVS_SHOWSELALWAYS 0x0008
1347 #define LVS_SORTASCENDING 0x0010
1348 #define LVS_SORTDESCENDING 0x0020
1349 #define LVS_SHAREIMAGELISTS 0x0040
1350 #define LVS_NOLABELWRAP 0x0080
1351 #define LVS_AUTOARRANGE 0x0100
1352 #define LVS_EDITLABELS 0x0200
1353 #define LVS_OWNERDATA 0x1000
1354 #define LVS_NOSCROLL 0x2000
1355 #define LVS_TYPESTYLEMASK 0xfc00
1356 #define LVS_ALIGNTOP 0x0000
1357 #define LVS_ALIGNLEFT 0x0800
1358 #define LVS_ALIGNMASK 0x0c00
1359 #define LVS_OWNERDRAWFIXED 0x0400
1360 #define LVS_NOCOLUMNHEADER 0x4000
1361 #define LVS_NOSORTHEADER 0x8000
1363 #define I_IMAGECALLBACK (-1)
1364 #define I_INDENTCALLBACK (-1)
1365 #define LV_ITEMA LVITEMA
1366 #define LV_ITEMW LVITEMW
1368 #define LV_ITEM LVITEM
1370 #define LVITEMA_V1_SIZE CCSIZEOF_STRUCT(LVITEMA, lParam)
1371 #define LVITEMW_V1_SIZE CCSIZEOF_STRUCT(LVITEMW, lParam)
1373 typedef struct tagLVITEMA
1375 UINT32 mask;
1376 int iItem;
1377 int iSubItem;
1378 UINT32 state;
1379 UINT32 stateMask;
1380 LPSTR pszText;
1381 int cchTextMax;
1382 int iImage;
1383 LPARAM lParam;
1384 int iIndent; //(_WIN32_IE >= 0x0300)
1385 } LVITEMA, * LPLVITEMA;
1387 typedef struct tagLVITEMW
1389 UINT32 mask;
1390 int iItem;
1391 int iSubItem;
1392 UINT32 state;
1393 UINT32 stateMask;
1394 LPWSTR pszText;
1395 int cchTextMax;
1396 int iImage;
1397 LPARAM lParam;
1398 int iIndent; //(_WIN32_IE >= 0x0300)
1399 } LVITEMW, * LPLVITEMW;
1401 #define LVITEM LVITEMA
1402 #define LPLVITEM LPLVITEMA
1403 #define LVITEM_V1_SIZE LVITEMA_V1_SIZE
1405 #define LV_COLUMNA LVCOLUMNA
1406 #define LV_COLUMNW LVCOLUMNW
1407 #define LV_COLUMN LVCOLUMN
1408 #define LVCOLUMNA_V1_SIZE CCSIZEOF_STRUCT(LVCOLUMNA, iSubItem)
1409 #define LVCOLUMNW_V1_SIZE CCSIZEOF_STRUCT(LVCOLUMNW, iSubItem)
1411 typedef struct tagLVCOLUMNA
1412 { UINT32 mask;
1413 int fmt;
1414 int cx;
1415 LPSTR pszText;
1416 int cchTextMax;
1417 int iSubItem;
1418 int iImage; //(_WIN32_IE >= 0x0300)
1419 int iOrder; //(_WIN32_IE >= 0x0300)
1420 } LVCOLUMNA,* LPLVCOLUMNA;
1422 typedef struct tagLVCOLUMNW
1423 { UINT32 mask;
1424 int fmt;
1425 int cx;
1426 LPWSTR pszText;
1427 int cchTextMax;
1428 int iSubItem;
1429 int iImage; //(_WIN32_IE >= 0x0300)
1430 int iOrder; //(_WIN32_IE >= 0x0300)
1431 } LVCOLUMNW,* LPLVCOLUMNW;
1433 #define LVCOLUMN LVCOLUMNA
1434 #define LPLVCOLUMN LPLVCOLUMNA
1435 #define LVCOLUMN_V1_SIZE LVCOLUMNA_V1_SIZE
1437 #define LVCF_FMT 0x0001
1438 #define LVCF_WIDTH 0x0002
1439 #define LVCF_TEXT 0x0004
1440 #define LVCF_SUBITEM 0x0008
1441 #define LVCF_IMAGE 0x0010
1442 #define LVCF_ORDER 0x0020
1445 #define LVCFMT_LEFT 0x0000
1446 #define LVCFMT_RIGHT 0x0001
1447 #define LVCFMT_CENTER 0x0002
1448 #define LVCFMT_JUSTIFYMASK 0x0003
1449 #define LVCFMT_IMAGE 0x0800
1450 #define LVCFMT_BITMAP_ON_RIGHT 0x1000
1451 #define LVCFMT_COL_HAS_IMAGES 0x8000
1453 #define SNDMSG SendMessage32A
1454 #define ListView_GetImageList(hwnd, iImageList) (HIMAGELIST)SNDMSG((hwnd), LVM_GETIMAGELIST, (WPARAM)(INT)(iImageList), 0L)
1456 #define LVSIL_NORMAL 0
1457 #define LVSIL_SMALL 1
1458 #define LVSIL_STATE 2
1461 #define ListView_SetImageList(hwnd, himl, iImageList) (HIMAGELIST)(UINT32)SNDMSG((hwnd), LVM_SETIMAGELIST, (WPARAM32)(iImageList), (LPARAM)(UINT32)(HIMAGELIST)(himl))
1462 #define ListView_GetItemCount(hwnd)(int)SNDMSG((hwnd), LVM_GETITEMCOUNT, 0, 0L)
1463 #define ListView_GetItem(hwnd, pitem)(BOOL32)SNDMSG((hwnd), LVM_GETITEM, 0, (LPARAM)(LV_ITEM *)(pitem))
1464 #define ListView_InsertItem(hwnd, pitem) (int)SNDMSG((hwnd), LVM_INSERTITEM, 0, (LPARAM)(const LV_ITEM *)(pitem))
1465 #define ListView_DeleteAllItems(hwnd) (BOOL32)SNDMSG((hwnd), LVM_DELETEALLITEMS, 0, 0L)
1466 #define ListView_InsertColumn(hwnd, iCol, pcol)(int)SNDMSG((hwnd), LVM_INSERTCOLUMN, (WPARAM32)(int)(iCol), (LPARAM)(const LV_COLUMN *)(pcol))
1467 typedef int (CALLBACK *PFNLVCOMPARE)(LPARAM, LPARAM, LPARAM);
1468 #define ListView_SortItems(hwndLV, _pfnCompare, _lPrm)(BOOL32)SNDMSG((hwndLV), LVM_SORTITEMS, (WPARAM32)(LPARAM)_lPrm,(LPARAM)(PFNLVCOMPARE)_pfnCompare)
1469 #define ListView_SetItemPosition(hwndLV, i, x, y)(BOOL32)SNDMSG((hwndLV), LVM_SETITEMPOSITION, (WPARAM32)(int)(i), MAKELPARAM((x), (y)))
1470 #define ListView_GetSelectedCount(hwndLV)(UINT32)SNDMSG((hwndLV), LVM_GETSELECTEDCOUNT, 0, 0L)
1472 #define LVIF_TEXT 0x0001
1473 #define LVIF_IMAGE 0x0002
1474 #define LVIF_PARAM 0x0004
1475 #define LVIF_STATE 0x0008
1476 #define LVIF_INDENT 0x0010
1477 #define LVIF_NORECOMPUTE 0x0800
1479 #define LVIS_FOCUSED 0x0001
1480 #define LVIS_SELECTED 0x0002
1481 #define LVIS_CUT 0x0004
1482 #define LVIS_DROPHILITED 0x0008
1483 #define LVIS_ACTIVATING 0x0020
1485 #define LVIS_OVERLAYMASK 0x0F00
1486 #define LVIS_STATEIMAGEMASK 0xF000
1488 #define LPNM_LISTVIEW LPNMLISTVIEW
1489 #define NM_LISTVIEW NMLISTVIEW
1491 typedef struct tagNMLISTVIEW
1492 { NMHDR hdr;
1493 int iItem;
1494 int iSubItem;
1495 UINT32 uNewState;
1496 UINT32 uOldState;
1497 UINT32 uChanged;
1498 POINT32 ptAction;
1499 LPARAM lParam;
1500 } NMLISTVIEW,*LPNMLISTVIEW;
1503 #define LV_DISPINFOA NMLVDISPINFOA
1504 #define LV_DISPINFOW NMLVDISPINFOW
1506 #define LV_DISPINFO NMLVDISPINFO
1508 typedef struct tagLVDISPINFO {
1509 NMHDR hdr;
1510 LVITEMA item;
1511 } NMLVDISPINFOA, *LPNMLVDISPINFOA;
1513 typedef struct tagLVDISPINFOW {
1514 NMHDR hdr;
1515 LVITEMW item;
1516 } NMLVDISPINFOW, * LPNMLVDISPINFOW;
1518 #define NMLVDISPINFO NMLVDISPINFOA
1521 #endif /* __WINE_COMMCTRL_H */