source: Daodan/MinGW/include/commctrl.h@ 1054

Last change on this file since 1054 was 1046, checked in by alloc, 8 years ago

Daodan: Added Windows MinGW and build batch file

File size: 121.8 KB
RevLine 
[1046]1#ifndef _COMMCTRL_H
2#define _COMMCTRL_H
3#if __GNUC__ >= 3
4#pragma GCC system_header
5#endif
6
7#include <prsht.h>
8#ifdef __cplusplus
9extern "C" {
10#endif
11#ifndef _WIN32_IE
12/* define _WIN32_IE if you really want it */
13#if 0
14#define _WIN32_IE 0x0300
15#endif
16#endif
17
18#ifndef COMMCTRLAPI
19#ifdef __W32API_USE_DLLIMPORT__
20#define COMMCTRLAPI DECLSPEC_IMPORT
21#else
22#define COMMCTRLAPI
23#endif
24#endif
25
26
27#ifndef SNDMSG
28#ifdef __cplusplus
29#define SNDMSG ::SendMessage
30#else
31#define SNDMSG SendMessage
32#endif
33#endif /* ifndef SNDMSG */
34
35#define DRAGLISTMSGSTRING TEXT("commctrl_DragListMsg")
36#define HOTKEY_CLASSA "msctls_hotkey32"
37#define HOTKEY_CLASSW L"msctls_hotkey32"
38#define PROGRESS_CLASSA "msctls_progress32"
39#define PROGRESS_CLASSW L"msctls_progress32"
40#define STATUSCLASSNAMEA "msctls_statusbar32"
41#define STATUSCLASSNAMEW L"msctls_statusbar32"
42#define TOOLBARCLASSNAMEA "ToolbarWindow32"
43#define TOOLBARCLASSNAMEW L"ToolbarWindow32"
44#define TOOLTIPS_CLASSA "tooltips_class32"
45#define TOOLTIPS_CLASSW L"tooltips_class32"
46#define TRACKBAR_CLASSA "msctls_trackbar32"
47#define TRACKBAR_CLASSW L"msctls_trackbar32"
48#define UPDOWN_CLASSA "msctls_updown32"
49#define UPDOWN_CLASSW L"msctls_updown32"
50#define ANIMATE_CLASSA "SysAnimate32"
51#define ANIMATE_CLASSW L"SysAnimate32"
52#define DATETIMEPICK_CLASSW L"SysDateTimePick32"
53#define DATETIMEPICK_CLASSA "SysDateTimePick32"
54#define MONTHCAL_CLASSW L"SysMonthCal32"
55#define MONTHCAL_CLASSA "SysMonthCal32"
56#define REBARCLASSNAMEW L"ReBarWindow32"
57#define REBARCLASSNAMEA "ReBarWindow32"
58#define WC_COMBOBOXEXW L"ComboBoxEx32"
59#define WC_COMBOBOXEXA "ComboBoxEx32"
60#define WC_IPADDRESSW L"SysIPAddress32"
61#define WC_IPADDRESSA "SysIPAddress32"
62#define WC_LISTVIEWA "SysListView32"
63#define WC_LISTVIEWW L"SysListView32"
64#define WC_TABCONTROLA "SysTabControl32"
65#define WC_TABCONTROLW L"SysTabControl32"
66#define WC_TREEVIEWA "SysTreeView32"
67#define WC_TREEVIEWW L"SysTreeView32"
68#define WC_HEADERA "SysHeader32"
69#define WC_HEADERW L"SysHeader32"
70#define WC_PAGESCROLLERW L"SysPager"
71#define WC_PAGESCROLLERA "SysPager"
72#define WC_NATIVEFONTCTLW L"NativeFontCtl"
73#define WC_NATIVEFONTCTLA "NativeFontCtl"
74#define WC_BUTTONA "Button"
75#define WC_BUTTONW L"Button"
76#define WC_STATICA "Static"
77#define WC_STATICW L"Static"
78#define WC_EDITA "Edit"
79#define WC_EDITW L"Edit"
80#define WC_LISTBOXA "ListBox"
81#define WC_LISTBOXW L"ListBox"
82#define WC_COMBOBOXA "ComboBox"
83#define WC_COMBOBOXW L"ComboBox"
84#define WC_SCROLLBARA "ScrollBar"
85#define WC_SCROLLBARW L"ScrollBar"
86#define WC_LINKA "SysLink"
87#define WC_LINKW L"SysLink"
88
89#ifdef UNICODE
90#define HOTKEY_CLASS HOTKEY_CLASSW
91#define PROGRESS_CLASS PROGRESS_CLASSW
92#define STATUSCLASSNAME STATUSCLASSNAMEW
93#define TOOLBARCLASSNAME TOOLBARCLASSNAMEW
94#define TOOLTIPS_CLASS TOOLTIPS_CLASSW
95#define TRACKBAR_CLASS TRACKBAR_CLASSW
96#define UPDOWN_CLASS UPDOWN_CLASSW
97#define ANIMATE_CLASS ANIMATE_CLASSW
98#define DATETIMEPICK_CLASS DATETIMEPICK_CLASSW
99#define MONTHCAL_CLASS MONTHCAL_CLASSW
100#define REBARCLASSNAME REBARCLASSNAMEW
101#define WC_COMBOBOXEX WC_COMBOBOXEXW
102#define WC_HEADER WC_HEADERW
103#define WC_IPADDRESS WC_IPADDRESSW
104#define WC_LISTVIEW WC_LISTVIEWW
105#define WC_TABCONTROL WC_TABCONTROLW
106#define WC_TREEVIEW WC_TREEVIEWW
107#define WC_PAGESCROLLER WC_PAGESCROLLERW
108#define WC_NATIVEFONTCTL WC_NATIVEFONTCTLW
109#define WC_BUTTON WC_BUTTONW
110#define WC_STATIC WC_STATICW
111#define WC_EDIT WC_EDITW
112#define WC_LISTBOX WC_LISTBOXW
113#define WC_COMBOBOX WC_COMBOBOXW
114#define WC_SCROLLBAR WC_SCROLLBARW
115#define WC_LINK WC_LINKW
116#else
117#define ANIMATE_CLASS ANIMATE_CLASSA
118#define HOTKEY_CLASS HOTKEY_CLASSA
119#define PROGRESS_CLASS PROGRESS_CLASSA
120#define STATUSCLASSNAME STATUSCLASSNAMEA
121#define TOOLBARCLASSNAME TOOLBARCLASSNAMEA
122#define TOOLTIPS_CLASS TOOLTIPS_CLASSA
123#define TRACKBAR_CLASS TRACKBAR_CLASSA
124#define UPDOWN_CLASS UPDOWN_CLASSA
125#define DATETIMEPICK_CLASS DATETIMEPICK_CLASSA
126#define MONTHCAL_CLASS MONTHCAL_CLASSA
127#define REBARCLASSNAME REBARCLASSNAMEA
128#define WC_COMBOBOXEX WC_COMBOBOXEXA
129#define WC_HEADER WC_HEADERA
130#define WC_IPADDRESS WC_IPADDRESSA
131#define WC_LISTVIEW WC_LISTVIEWA
132#define WC_TABCONTROL WC_TABCONTROLA
133#define WC_TREEVIEW WC_TREEVIEWA
134#define WC_PAGESCROLLER WC_PAGESCROLLERA
135#define WC_NATIVEFONTCTL WC_NATIVEFONTCTLA
136#define WC_BUTTON WC_BUTTONA
137#define WC_STATIC WC_STATICA
138#define WC_EDIT WC_EDITA
139#define WC_LISTBOX WC_LISTBOXA
140#define WC_COMBOBOX WC_COMBOBOXA
141#define WC_SCROLLBAR WC_SCROLLBARA
142#define WC_LINK WC_LINKA
143#endif
144
145#if (_WIN32_IE >= 0x0500)
146#if (_WIN32_WINNT >= 0x0501)
147#define COMCTL32_VERSION 6
148#else
149#define COMCTL32_VERSION 5
150#endif
151#endif
152
153#define LVM_FIRST 0x1000
154#define TV_FIRST 0x1100
155#define HDM_FIRST 0x1200
156#define ACM_OPENA (WM_USER+100)
157#define ACM_PLAY (WM_USER+101)
158#define ACM_STOP (WM_USER+102)
159#define ACM_OPENW (WM_USER+103)
160#define ACN_START 1
161#define ACN_STOP 2
162#define CBEIF_TEXT 0x00000001
163#define CBEIF_IMAGE 0x00000002
164#define CBEIF_SELECTEDIMAGE 0x00000004
165#define CBEIF_OVERLAY 0x00000008
166#define CBEIF_INDENT 0x00000010
167#define CBEIF_LPARAM 0x00000020
168#define CBEIF_DI_SETITEM 0x10000000
169#define CBEN_INSERTITEM (CBEN_FIRST - 1)
170#define CBEN_DELETEITEM (CBEN_FIRST - 2)
171#define CBEN_BEGINEDIT (CBEN_FIRST - 4)
172#define CBEN_ENDEDITA (CBEN_FIRST - 5)
173#define CBEN_ENDEDITW (CBEN_FIRST - 6)
174#define CBENF_KILLFOCUS 1
175#define CBENF_RETURN 2
176#define CBENF_ESCAPE 3
177#define CBENF_DROPDOWN 4
178#define CBEMAXSTRLEN 260
179#define DL_BEGINDRAG 1157
180#define DL_CANCELDRAG 1160
181#define DL_DRAGGING 1158
182#define DL_DROPPED 1159
183#define DL_CURSORSET 0
184#define DL_STOPCURSOR 1
185#define DL_COPYCURSOR 2
186#define DL_MOVECURSOR 3
187#define CCS_TOP 1
188#define CCS_NOMOVEY 2
189#define CCS_BOTTOM 3
190#define CCS_NORESIZE 4
191#define CCS_NOPARENTALIGN 8
192#define CCS_ADJUSTABLE 32
193#define CCS_NODIVIDER 64
194#if (_WIN32_IE >= 0x0300)
195#define CCS_VERT 128
196#define CCS_LEFT 129
197#define CCS_NOMOVEX 130
198#define CCS_RIGHT 131
199#endif
200#define ACS_CENTER 0x0001
201#define ACS_TRANSPARENT 0x0002
202#define ACS_AUTOPLAY 0x0004
203#define ACS_TIMER 0x0008
204#define PGS_VERT 0x00000000
205#define PGS_HORZ 0x00000001
206#define PGS_AUTOSCROLL 0x00000002
207#define PGS_DRAGNDROP 0x00000004
208#define CMB_MASKED 2
209#define MINSYSCOMMAND SC_SIZE
210#define SBT_OWNERDRAW 0x1000
211#define SBT_NOBORDERS 256
212#define SBT_POPOUT 512
213#define SBT_RTLREADING 1024
214#define SB_SETTEXTA (WM_USER+1)
215#define SB_SETTEXTW (WM_USER+11)
216#define SB_GETTEXTA (WM_USER+2)
217#define SB_GETTEXTW (WM_USER+13)
218#define SB_GETTEXTLENGTHA (WM_USER+3)
219#define SB_GETTEXTLENGTHW (WM_USER+12)
220#define SB_SETPARTS (WM_USER+4)
221#define SB_GETPARTS (WM_USER+6)
222#define SB_GETBORDERS (WM_USER+7)
223#define SB_SETMINHEIGHT (WM_USER+8)
224#define SB_SIMPLE (WM_USER+9)
225#define SB_GETRECT (WM_USER+10)
226#define MSGF_COMMCTRL_BEGINDRAG 0x4200
227#define MSGF_COMMCTRL_SIZEHEADER 0x4201
228#define MSGF_COMMCTRL_DRAGSELECT 0x4202
229#define MSGF_COMMCTRL_TOOLBARCUST 0x4203
230#define ILC_COLOR 0
231#define ILC_COLOR4 4
232#define ILC_COLOR8 8
233#define ILC_COLOR16 16
234#define ILC_COLOR24 24
235#define ILC_COLOR32 32
236#define ILC_COLORDDB 254
237#define ILC_MASK 1
238#define ILC_PALETTE 2048
239#define ILCF_MOVE 0
240#define ILCF_SWAP 1
241#define ILS_NORMAL 0
242#define ILS_GLOW 1
243#define ILS_SHADOW 2
244#define ILS_SATURATE 4
245#define ILS_ALPHA 8
246#define ILD_BLEND25 2
247#define ILD_BLEND50 4
248#define ILD_SELECTED 4
249#define ILD_BLEND 4
250#define ILD_FOCUS 2
251#define ILD_MASK 16
252#define ILD_NORMAL 0
253#define ILD_TRANSPARENT 1
254#define ILD_IMAGE 0x0020
255#define ILD_ROP 0x0040
256#define ILD_OVERLAYMASK 0x0F00
257#define ILD_PRESERVEALPHA 0x1000
258#define ILD_SCALE 0x2000
259#define ILD_DPISCALE 0x4000
260#define HDS_HORZ 0
261#define HDS_BUTTONS 2
262#define HDS_HIDDEN 8
263#if (_WIN32_IE > 0x0300)
264#define HDS_HOTTRACK 4
265#define HDS_DRAGDROP 0x0040
266#define HDS_FULLDRAG 0x0080
267#endif /* _WIN32_IE > 0x0300 */
268#if (_WIN32_IE >= 0x0500)
269#define HDS_FILTERBAR 0x0100
270#endif /* _WIN32_IE >= 0x0500 */
271#define NM_FIRST 0
272#define NM_LAST ((UINT)-99)
273#define LVN_FIRST ((UINT)-100)
274#define LVN_LAST ((UINT)-199)
275#define HDN_FIRST ((UINT)-300)
276#define HDN_LAST ((UINT)-399)
277#define TVN_FIRST ((UINT)-400)
278#define TVN_LAST ((UINT)-499)
279#define TTN_FIRST ((UINT)-520)
280#define TTN_LAST ((UINT)-549)
281#define TCN_FIRST ((UINT)-550)
282#define TCN_LAST ((UINT)-580)
283#ifndef CDN_FIRST
284#define CDN_FIRST ((UINT)-601) /* also in commdlg.h */
285#define CDN_LAST ((UINT)-699)
286#endif
287#define TBN_FIRST ((UINT)-700)
288#define TBN_LAST ((UINT)-720)
289#define UDN_FIRST ((UINT)-721)
290#define UDN_LAST ((UINT)-740)
291#if (_WIN32_IE >= 0x0300)
292#define RBN_FIRST ((UINT)-831)
293#define RBN_LAST ((UINT)-859)
294#define MCN_FIRST ((UINT)-750)
295#define MCN_LAST ((UINT)-759)
296#define DTN_FIRST ((UINT)-760)
297#define DTN_LAST ((UINT)-799)
298#define CBEN_FIRST ((UINT)-800)
299#define CBEN_LAST ((UINT)-830)
300#endif /* _WIN32_IE */
301#if (_WIN32_IE >= 0x0400)
302#define IPN_FIRST ((UINT)-860)
303#define IPN_LAST ((UINT)-879)
304#define IPN_FIELDCHANGED (IPN_FIRST-0)
305#define SBN_FIRST ((UINT)-880U)
306#define SBN_LAST ((UINT)-899U)
307#define PGN_FIRST ((UINT)-900U)
308#define PGN_LAST ((UINT)-950U)
309#define PGN_SCROLL (PGN_FIRST-1)
310#define PGN_CALCSIZE (PGN_FIRST-2)
311#endif /* _WIN32_IE >= 0x0400 */
312#define HDI_WIDTH 1
313#define HDI_HEIGHT 1
314#define HDI_TEXT 2
315#define HDI_FORMAT 4
316#define HDI_LPARAM 8
317#define HDI_BITMAP 16
318#if (_WIN32_IE >= 0x0300)
319#define HDI_IMAGE 32
320#define HDI_DI_SETITEM 64
321#define HDI_ORDER 128
322#endif
323#define CBES_EX_NOEDITIMAGE 0x00000001
324#define CBES_EX_NOEDITIMAGEINDENT 0x00000002
325#define CBES_EX_PATHWORDBREAKPROC 0x00000004
326#if (_WIN32_IE >= 0x0400)
327#define CBES_EX_NOSIZELIMIT 0x00000008
328#define CBES_EX_CASESENSITIVE 0x00000010
329#define CBEN_GETDISPINFOA (CBEN_FIRST - 0)
330#define CBEN_GETDISPINFOW (CBEN_FIRST - 7)
331#define CBEN_DRAGBEGINA (CBEN_FIRST - 8)
332#define CBEN_DRAGBEGINW (CBEN_FIRST - 9)
333#endif /* _WIN32_IE >= 0x0400 */
334#if (_WIN32_IE >= 0x0500)
335#define HDI_FILTER 256
336#endif
337#define HDF_LEFT 0
338#define HDF_RIGHT 1
339#define HDF_CENTER 2
340#define HDF_JUSTIFYMASK 3
341#define HDF_RTLREADING 4
342#define HDF_OWNERDRAW 0x8000
343#define HDF_STRING 0x4000
344#define HDF_BITMAP 0x2000
345#if (_WIN32_IE >= 0x0300)
346#define HDF_BITMAP_ON_RIGHT 0x1000
347#define HDF_IMAGE 0x0800
348#endif
349#define HDM_GETITEMCOUNT HDM_FIRST
350#define HDM_INSERTITEMA (HDM_FIRST+1)
351#define HDM_INSERTITEMW (HDM_FIRST+10)
352#define HDM_DELETEITEM (HDM_FIRST+2)
353#define HDM_GETITEMA (HDM_FIRST+3)
354#define HDM_GETITEMW (HDM_FIRST+11)
355#define HDM_SETITEMA (HDM_FIRST+4)
356#define HDM_SETITEMW (HDM_FIRST+12)
357#define HDM_LAYOUT (HDM_FIRST+5)
358#if (_WIN32_IE >= 0x0300)
359#define HDM_GETITEMRECT (HDM_FIRST+7)
360#define HDM_SETIMAGELIST (HDM_FIRST+8)
361#define HDM_GETIMAGELIST (HDM_FIRST+9)
362#define HDM_ORDERTOINDEX (HDM_FIRST+15)
363#define HDM_CREATEDRAGIMAGE (HDM_FIRST+16)
364#define HDM_GETORDERARRAY (HDM_FIRST+17)
365#define HDM_SETORDERARRAY (HDM_FIRST+18)
366#define HDM_SETHOTDIVIDER (HDM_FIRST+19)
367#endif
368#if (_WIN32_IE >= 0x0400)
369#define HDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
370#define HDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
371#endif
372#define HHT_NOWHERE 1
373#define HHT_ONHEADER 2
374#define HHT_ONDIVIDER 4
375#define HHT_ONDIVOPEN 8
376#define HHT_ABOVE 256
377#define HHT_BELOW 512
378#define HHT_TORIGHT 1024
379#define HHT_TOLEFT 2048
380#define HDM_HITTEST (HDM_FIRST+6)
381#define HDN_ITEMCHANGINGA (HDN_FIRST-0)
382#define HDN_ITEMCHANGINGW (HDN_FIRST-20)
383#define HDN_ITEMCHANGEDA (HDN_FIRST-1)
384#define HDN_ITEMCHANGEDW (HDN_FIRST-21)
385#define HDN_ITEMCLICKA (HDN_FIRST-2)
386#define HDN_ITEMCLICKW (HDN_FIRST-22)
387#define HDN_ITEMDBLCLICKA (HDN_FIRST-3)
388#define HDN_ITEMDBLCLICKW (HDN_FIRST-23)
389#define HDN_DIVIDERDBLCLICKA (HDN_FIRST-5)
390#define HDN_DIVIDERDBLCLICKW (HDN_FIRST-25)
391#define HDN_BEGINTRACKA (HDN_FIRST-6)
392#define HDN_BEGINTRACKW (HDN_FIRST-26)
393#define HDN_ENDTRACKA (HDN_FIRST-7)
394#define HDN_ENDTRACKW (HDN_FIRST-27)
395#define HDN_TRACKA (HDN_FIRST-8)
396#define HDN_TRACKW (HDN_FIRST-28)
397#if _WIN32_IE >= 0x0300
398#define HDN_ENDDRAG (HDN_FIRST-11)
399#define HDN_BEGINDRAG (HDN_FIRST-10)
400#define HDN_GETDISPINFOA (HDN_FIRST-9)
401#define HDN_GETDISPINFOW (HDN_FIRST-29)
402#endif
403#if (_WIN32_IE >= 0x0400)
404#define HICF_OTHER 0x00
405#define HICF_MOUSE 0x01
406#define HICF_ARROWKEYS 0x02
407#define HICF_ACCELERATOR 0x04
408#define HICF_DUPACCEL 0x08
409#define HICF_ENTERING 0x10
410#define HICF_LEAVING 0x20
411#define HICF_RESELECT 0x40
412#define HICF_LMOUSE 0x80
413#define HICF_TOGGLEDROPDOWN 0x100
414#endif /* _WIN32_IE >= 0x0400 */
415#define IPM_CLEARADDRESS (WM_USER+100)
416#define IPM_SETADDRESS (WM_USER+101)
417#define IPM_GETADDRESS (WM_USER+102)
418#define IPM_SETRANGE (WM_USER+103)
419#define IPM_SETFOCUS (WM_USER+104)
420#define IPM_ISBLANK (WM_USER+105)
421#if (_WIN32_IE >= 0x0500)
422#define I_INDENTCALLBACK (-1)
423#define I_IMAGENONE (-2)
424#endif
425#define CMB_MASKED 2
426#define TBSTATE_CHECKED 1
427#define TBSTATE_PRESSED 2
428#define TBSTATE_ENABLED 4
429#define TBSTATE_HIDDEN 8
430#define TBSTATE_INDETERMINATE 16
431#define TBSTATE_WRAP 32
432#if (_WIN32_IE >= 0x0300)
433#define TBSTATE_ELLIPSES 0x40
434#endif
435#if (_WIN32_IE >= 0x0400)
436#define TBSTATE_MARKED 0x0080
437#endif
438#define TBSTYLE_BUTTON 0
439#define TBSTYLE_SEP 1
440#define TBSTYLE_CHECK 2
441#define TBSTYLE_GROUP 4
442#define TBSTYLE_CHECKGROUP (TBSTYLE_GROUP|TBSTYLE_CHECK)
443#if (_WIN32_IE >= 0x0300)
444#define TBSTYLE_DROPDOWN 8
445#endif
446#if (_WIN32_IE >= 0x0400)
447#define TBSTYLE_AUTOSIZE 16
448#define TBSTYLE_NOPREFIX 32
449#endif
450#define TBSTYLE_TOOLTIPS 256
451#define TBSTYLE_WRAPABLE 512
452#define TBSTYLE_ALTDRAG 1024
453#if (_WIN32_IE >= 0x0300)
454#define TBSTYLE_FLAT 2048
455#define TBSTYLE_LIST 4096
456#define TBSTYLE_CUSTOMERASE 8192
457#endif
458#if (_WIN32_IE >= 0x0400)
459#define TBSTYLE_REGISTERDROP 0x4000
460#define TBSTYLE_TRANSPARENT 0x8000
461#define TBSTYLE_EX_DRAWDDARROWS 0x00000001
462#endif /* _WIN32_IE >= 0x0400 */
463#if (_WIN32_IE >= 0x0501)
464#define TBSTYLE_EX_MIXEDBUTTONS 8
465#define TBSTYLE_EX_HIDECLIPPEDBUTTONS 16
466#endif /* _WIN32_IE >= 0x0501 */
467#if (_WIN32_WINNT >= 0x0501)
468#define TBSTYLE_EX_DOUBLEBUFFER 0x80
469#endif /* _WIN32_WINNT >= 0x0501 */
470#if (_WIN32_IE >= 0x0500)
471#define BTNS_BUTTON TBSTYLE_BUTTON
472#define BTNS_SEP TBSTYLE_SEP
473#define BTNS_CHECK TBSTYLE_CHECK
474#define BTNS_GROUP TBSTYLE_GROUP
475#define BTNS_CHECKGROUP TBSTYLE_CHECKGROUP
476#define BTNS_DROPDOWN TBSTYLE_DROPDOWN
477#define BTNS_AUTOSIZE TBSTYLE_AUTOSIZE
478#define BTNS_NOPREFIX TBSTYLE_NOPREFIX
479#define BTNS_WHOLEDROPDOWN 0x0080
480#endif /* _WIN32_IE >= 0x0500 */
481#if _WIN32_IE >= 0x0501
482#define BTNS_SHOWTEXT 0x0040
483#endif
484#if (_WIN32_IE >= 0x0400)
485#define TBCDRF_NOEDGES 0x10000
486#define TBCDRF_HILITEHOTTRACK 0x20000
487#define TBCDRF_NOOFFSET 0x40000
488#define TBCDRF_NOMARK 0x80000
489#define TBCDRF_NOETCHEDEFFECT 0x100000
490#endif /* _WIN32_IE >= 0x0400 */
491#define HINST_COMMCTRL ((HINSTANCE)-1)
492#define IDB_STD_SMALL_COLOR 0
493#define IDB_STD_LARGE_COLOR 1
494#define IDB_VIEW_SMALL_COLOR 4
495#define IDB_VIEW_LARGE_COLOR 5
496#if (_WIN32_IE >= 0x0300)
497#define IDB_HIST_SMALL_COLOR 8
498#define IDB_HIST_LARGE_COLOR 9
499#endif
500#define STD_CUT 0
501#define STD_COPY 1
502#define STD_PASTE 2
503#define STD_UNDO 3
504#define STD_REDOW 4
505#define STD_DELETE 5
506#define STD_FILENEW 6
507#define STD_FILEOPEN 7
508#define STD_FILESAVE 8
509#define STD_PRINTPRE 9
510#define STD_PROPERTIES 10
511#define STD_HELP 11
512#define STD_FIND 12
513#define STD_REPLACE 13
514#define STD_PRINT 14
515#define VIEW_LARGEICONS 0
516#define VIEW_SMALLICONS 1
517#define VIEW_LIST 2
518#define VIEW_DETAILS 3
519#define VIEW_SORTNAME 4
520#define VIEW_SORTSIZE 5
521#define VIEW_SORTDATE 6
522#define VIEW_SORTTYPE 7
523#define VIEW_PARENTFOLDER 8
524#define VIEW_NETCONNECT 9
525#define VIEW_NETDISCONNECT 10
526#define VIEW_NEWFOLDER 11
527#define TB_ENABLEBUTTON (WM_USER+1)
528#define TB_CHECKBUTTON (WM_USER+2)
529#define TB_PRESSBUTTON (WM_USER+3)
530#define TB_HIDEBUTTON (WM_USER+4)
531#define TB_INDETERMINATE (WM_USER+5)
532#if (_WIN32_IE >= 0x0400)
533#define TB_MARKBUTTON (WM_USER+6)
534#endif
535#define TB_ISBUTTONENABLED (WM_USER+9)
536#define TB_ISBUTTONCHECKED (WM_USER+10)
537#define TB_ISBUTTONPRESSED (WM_USER+11)
538#define TB_ISBUTTONHIDDEN (WM_USER+12)
539#define TB_ISBUTTONINDETERMINATE (WM_USER+13)
540#if (_WIN32_IE >= 0x0400)
541#define TB_ISBUTTONHIGHLIGHTED (WM_USER+14)
542#endif
543#define TB_SETSTATE (WM_USER+17)
544#define TB_GETSTATE (WM_USER+18)
545#define TB_ADDBITMAP (WM_USER+19)
546#if (_WIN32_IE >= 0x0400)
547#define TB_ADDBUTTONSA (WM_USER+20)
548#define TB_INSERTBUTTONA (WM_USER+21)
549#else
550#define TB_ADDBUTTONS (WM_USER+20)
551#define TB_INSERTBUTTON (WM_USER+21)
552#endif
553#define TB_DELETEBUTTON (WM_USER+22)
554#define TB_GETBUTTON (WM_USER+23)
555#define TB_BUTTONCOUNT (WM_USER+24)
556#define TB_COMMANDTOINDEX (WM_USER+25)
557#define TB_SAVERESTOREA (WM_USER+26)
558#define TB_SAVERESTOREW (WM_USER+76)
559#define TB_CUSTOMIZE (WM_USER+27)
560#define TB_ADDSTRINGA (WM_USER+28)
561#define TB_ADDSTRINGW (WM_USER+77)
562#define TB_GETITEMRECT (WM_USER+29)
563#define TB_BUTTONSTRUCTSIZE (WM_USER+30)
564#define TB_SETBUTTONSIZE (WM_USER+31)
565#define TB_SETBITMAPSIZE (WM_USER+32)
566#define TB_AUTOSIZE (WM_USER+33)
567#define TB_GETTOOLTIPS (WM_USER+35)
568#define TB_SETTOOLTIPS (WM_USER+36)
569#define TB_SETPARENT (WM_USER+37)
570#define TB_SETROWS (WM_USER+39)
571#define TB_GETROWS (WM_USER+40)
572#define TB_GETBITMAPFLAGS (WM_USER+41)
573#define TB_SETCMDID (WM_USER+42)
574#define TB_CHANGEBITMAP (WM_USER+43)
575#define TB_GETBITMAP (WM_USER+44)
576#define TB_GETBUTTONTEXTA (WM_USER+45)
577#define TB_GETBUTTONTEXTW (WM_USER+75)
578#define TB_REPLACEBITMAP (WM_USER+46)
579#define TB_GETBUTTONSIZE (WM_USER+58)
580#define TB_SETBUTTONWIDTH (WM_USER+59)
581#if (_WIN32_IE >= 0x0300)
582#define TB_SETINDENT (WM_USER+47)
583#define TB_SETIMAGELIST (WM_USER+48)
584#define TB_GETIMAGELIST (WM_USER+49)
585#define TB_LOADIMAGES (WM_USER+50)
586#define TB_GETRECT (WM_USER+51)
587#define TB_SETHOTIMAGELIST (WM_USER+52)
588#define TB_GETHOTIMAGELIST (WM_USER+53)
589#define TB_SETDISABLEDIMAGELIST (WM_USER+54)
590#define TB_GETDISABLEDIMAGELIST (WM_USER+55)
591#define TB_SETSTYLE (WM_USER+56)
592#define TB_GETSTYLE (WM_USER+57)
593#define TB_GETBUTTONSIZE (WM_USER+58)
594#define TB_SETBUTTONWIDTH (WM_USER+59)
595#define TB_SETMAXTEXTROWS (WM_USER+60)
596#define TB_GETTEXTROWS (WM_USER+61)
597#endif
598#if _WIN32_IE >= 0x400
599#define TB_GETOBJECT (WM_USER+62)
600#define TB_GETBUTTONINFOW (WM_USER+63)
601#define TB_SETBUTTONINFOW (WM_USER+64)
602#define TB_GETBUTTONINFOA (WM_USER+65)
603#define TB_SETBUTTONINFOA (WM_USER+66)
604#define TB_INSERTBUTTONW (WM_USER+67)
605#define TB_ADDBUTTONSW (WM_USER+68)
606#define TB_HITTEST (WM_USER+69)
607#define TB_SETEXTENDEDSTYLE (WM_USER+84)
608#define TB_GETEXTENDEDSTYLE (WM_USER+85)
609#define TB_SETDRAWTEXTFLAGS (WM_USER+70)
610#define TB_GETHOTITEM (WM_USER+71)
611#define TB_SETHOTITEM (WM_USER+72)
612#define TB_SETANCHORHIGHLIGHT (WM_USER+73)
613#define TB_GETANCHORHIGHLIGHT (WM_USER+74)
614#define TB_MAPACCELERATORA (WM_USER+78)
615#define TB_GETINSERTMARK (WM_USER+79)
616#define TB_SETINSERTMARK (WM_USER+80)
617#define TB_INSERTMARKHITTEST (WM_USER+81)
618#define TB_MOVEBUTTON (WM_USER+82)
619#define TB_GETMAXSIZE (WM_USER+83)
620#define TB_SETEXTENDEDSTYLE (WM_USER+84)
621#define TB_GETEXTENDEDSTYLE (WM_USER+85)
622#define TB_GETPADDING (WM_USER+86)
623#define TB_SETPADDING (WM_USER+87)
624#define TB_SETINSERTMARKCOLOR (WM_USER+88)
625#define TB_GETINSERTMARKCOLOR (WM_USER+89)
626#define TB_MAPACCELERATORW (WM_USER+90)
627#define TB_GETSTRINGW (WM_USER+91)
628#define TB_GETSTRINGA (WM_USER+92)
629#define TB_SETCOLORSCHEME CCM_SETCOLORSCHEME
630#define TB_GETCOLORSCHEME CCM_GETCOLORSCHEME
631#define TB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
632#define TB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
633#endif
634#define TBBF_LARGE 1
635#define TBN_GETBUTTONINFOA (TBN_FIRST-0)
636#define TBN_BEGINDRAG (TBN_FIRST-1)
637#define TBN_ENDDRAG (TBN_FIRST-2)
638#define TBN_BEGINADJUST (TBN_FIRST-3)
639#define TBN_ENDADJUST (TBN_FIRST-4)
640#define TBN_RESET (TBN_FIRST-5)
641#define TBN_QUERYINSERT (TBN_FIRST-6)
642#define TBN_QUERYDELETE (TBN_FIRST-7)
643#define TBN_TOOLBARCHANGE (TBN_FIRST-8)
644#define TBN_CUSTHELP (TBN_FIRST-9)
645#if (_WIN32_IE >= 0x0300)
646#define TBN_DROPDOWN (TBN_FIRST-10)
647#endif
648#if (_WIN32_IE >= 0x0400)
649#define TBN_HOTITEMCHANGE (TBN_FIRST-13)
650#define TBN_DRAGOUT (TBN_FIRST-14)
651#define TBN_DELETINGBUTTON (TBN_FIRST-15)
652#define TBN_GETDISPINFOA (TBN_FIRST-16)
653#define TBN_GETDISPINFOW (TBN_FIRST-17)
654#define TBN_GETINFOTIPA (TBN_FIRST-18)
655#define TBN_GETINFOTIPW (TBN_FIRST-19)
656#define TBN_GETBUTTONINFOW (TBN_FIRST-20)
657#endif
658#if (_WIN32_IE >= 0x0500)
659#define TBN_RESTORE (TBN_FIRST-21)
660#define TBN_SAVE (TBN_FIRST-22)
661#define TBN_INITCUSTOMIZE (TBN_FIRST-23)
662#define TBNRF_HIDEHELP 1
663#define TBNRF_ENDCUSTOMIZE 2
664#define TBNF_IMAGE 1
665#define TBNF_TEXT 2
666#define TBNF_DI_SETITEM 0x10000000
667#endif /* _WIN32_IE >= 0x0500 */
668#define TTS_ALWAYSTIP 1
669#define TTS_NOPREFIX 2
670#if( _WIN32_IE >= 0x0500 )
671#define TTS_NOANIMATE 0x10
672#define TTS_NOFADE 0x20
673#define TTS_BALLOON 0x40
674#define TTS_CLOSE 0x80
675#endif /* _WIN32_IE >= 0x0500 */
676#define TTF_IDISHWND 1
677#define TTF_CENTERTIP 2
678#define TTF_RTLREADING 4
679#define TTF_SUBCLASS 16
680#if (_WIN32_IE >= 0x0300)
681#define TTF_TRACK 0x0020
682#define TTF_ABSOLUTE 0x0080
683#define TTF_TRANSPARENT 0x0100
684#if (_WIN32_IE >= 0x0501)
685#define TTF_PARSELINKS 0x1000
686#endif
687#define TTF_DI_SETITEM 0x8000
688#define TBCD_TICS 1
689#define TBCD_THUMB 2
690#define TBCD_CHANNEL 3
691#endif /* _WIN32_IE >= 0x0300 */
692#if (_WIN32_IE >= 0x0400)
693#define TBDDRET_DEFAULT 0
694#define TBDDRET_NODEFAULT 1
695#define TBDDRET_TREATPRESSED 2
696#define TBIMHT_AFTER 1
697#define TBIMHT_BACKGROUND 2
698#endif
699#define TTDT_AUTOMATIC 0
700#define TTDT_RESHOW 1
701#define TTDT_AUTOPOP 2
702#define TTDT_INITIAL 3
703#define TTM_ACTIVATE (WM_USER+1)
704#define TTM_SETDELAYTIME (WM_USER+3)
705#define TTM_ADDTOOLA (WM_USER+4)
706#define TTM_ADDTOOLW (WM_USER+50)
707#define TTM_DELTOOLA (WM_USER+5)
708#define TTM_DELTOOLW (WM_USER+51)
709#define TTM_NEWTOOLRECTA (WM_USER+6)
710#define TTM_NEWTOOLRECTW (WM_USER+52)
711#define TTM_RELAYEVENT (WM_USER+7)
712#define TTM_GETTOOLINFOA (WM_USER+8)
713#define TTM_GETTOOLINFOW (WM_USER+53)
714#define TTM_SETTOOLINFOA (WM_USER+9)
715#define TTM_SETTOOLINFOW (WM_USER+54)
716#define TTM_HITTESTA (WM_USER+10)
717#define TTM_HITTESTW (WM_USER+55)
718#define TTM_GETTEXTA (WM_USER+11)
719#define TTM_GETTEXTW (WM_USER+56)
720#define TTM_UPDATETIPTEXTA (WM_USER+12)
721#define TTM_UPDATETIPTEXTW (WM_USER+57)
722#define TTM_GETTOOLCOUNT (WM_USER+13)
723#define TTM_ENUMTOOLSA (WM_USER+14)
724#define TTM_ENUMTOOLSW (WM_USER+58)
725#define TTM_GETCURRENTTOOLA (WM_USER+15)
726#define TTM_GETCURRENTTOOLW (WM_USER+59)
727#define TTM_WINDOWFROMPOINT (WM_USER+16)
728#if (_WIN32_IE >= 0x0300)
729#define TTM_TRACKACTIVATE (WM_USER+17)
730#define TTM_TRACKPOSITION (WM_USER+18)
731#define TTM_SETTIPBKCOLOR (WM_USER+19)
732#define TTM_SETTIPTEXTCOLOR (WM_USER+20)
733#define TTM_GETDELAYTIME (WM_USER+21)
734#define TTM_GETTIPBKCOLOR (WM_USER+22)
735#define TTM_GETTIPTEXTCOLOR (WM_USER+23)
736#define TTM_SETMAXTIPWIDTH (WM_USER+24)
737#define TTM_GETMAXTIPWIDTH (WM_USER+25)
738#define TTM_SETMARGIN (WM_USER+26)
739#define TTM_GETMARGIN (WM_USER+27)
740#define TTM_POP (WM_USER+28)
741#endif /* _WIN32_IE */
742#if (_WIN32_IE >= 0x0400) /* IE4.0 ??? */
743#define TTM_UPDATE (WM_USER+29)
744#define TTM_GETBUBBLESIZE (WM_USER+30)
745#define TTM_ADJUSTRECT (WM_USER+31)
746#define TTM_SETTITLEA (WM_USER+32)
747#define TTM_SETTITLEW (WM_USER+33)
748#endif
749#define TTN_GETDISPINFOA (TTN_FIRST - 0)
750#define TTN_GETDISPINFOW (TTN_FIRST - 10)
751#define TTN_NEEDTEXTA TTN_GETDISPINFOA
752#define TTN_NEEDTEXTW TTN_GETDISPINFOW
753#define TTN_SHOW (TTN_FIRST-1)
754#define TTN_POP (TTN_FIRST-2)
755#define UD_MAXVAL 0x7fff
756#define UD_MINVAL (-UD_MAXVAL)
757#define UDN_DELTAPOS (UDN_FIRST-1)
758#define UDS_WRAP 1
759#define UDS_SETBUDDYINT 2
760#define UDS_ALIGNRIGHT 4
761#define UDS_ALIGNLEFT 8
762#define UDS_AUTOBUDDY 16
763#define UDS_ARROWKEYS 32
764#define UDS_HORZ 64
765#define UDS_NOTHOUSANDS 128
766#if ( _WIN32_IE >= 0x0300 )
767#define UDS_HOTTRACK 0x0100
768#endif /* _WIN32_IE >= 0x0300 */
769#define UDM_SETRANGE (WM_USER+101)
770#define UDM_GETRANGE (WM_USER+102)
771#define UDM_SETPOS (WM_USER+103)
772#define UDM_GETPOS (WM_USER+104)
773#define UDM_SETBUDDY (WM_USER+105)
774#define UDM_GETBUDDY (WM_USER+106)
775#define UDM_SETACCEL (WM_USER+107)
776#define UDM_GETACCEL (WM_USER+108)
777#define UDM_SETBASE (WM_USER+109)
778#define UDM_GETBASE (WM_USER+110)
779#if (_WIN32_IE >= 0x0400)
780#define UDM_SETRANGE32 (WM_USER+111)
781#define UDM_GETRANGE32 (WM_USER+112)
782#define UDM_SETPOS32 (WM_USER+113)
783#define UDM_GETPOS32 (WM_USER+114)
784#endif
785#if (_WIN32_IE >= 0x0500)
786#define UDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
787#define UDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
788#endif
789#define SB_SETTEXTA (WM_USER+1)
790#define SB_SETTEXTW (WM_USER+11)
791#define SB_GETTEXTA (WM_USER+2)
792#define SB_GETTEXTW (WM_USER+13)
793#define SB_GETTEXTLENGTHA (WM_USER+3)
794#define SB_GETTEXTLENGTHW (WM_USER+12)
795#define SB_SETPARTS (WM_USER+4)
796#define SB_GETPARTS (WM_USER+6)
797#define SB_GETBORDERS (WM_USER+7)
798#define SB_SETMINHEIGHT (WM_USER+8)
799#define SB_SIMPLE (WM_USER+9)
800#define SB_GETRECT (WM_USER+10)
801#define SBT_OWNERDRAW 0x1000
802#define SBT_NOBORDERS 256
803#define SBT_POPOUT 512
804#define SBT_RTLREADING 1024
805#if( _WIN32_IE >= 0x0400 )
806#define SBT_TOOLTIPS 0x0800
807#define SBN_SIMPLEMODECHANGE (SBN_FIRST)
808#endif /* _WIN32_IE >= 0x0400 */
809#define TBS_AUTOTICKS 1
810#define TBS_VERT 2
811#define TBS_HORZ 0
812#define TBS_TOP 4
813#define TBS_BOTTOM 0
814#define TBS_LEFT 4
815#define TBS_RIGHT 0
816#define TBS_BOTH 8
817#define TBS_NOTICKS 16
818#define TBS_ENABLESELRANGE 32
819#define TBS_FIXEDLENGTH 64
820#define TBS_NOTHUMB 128
821#if (_WIN32_IE >= 0x0300)
822#define TBS_TOOLTIPS 0x0100
823#define TBTS_TOP 0
824#define TBTS_LEFT 1
825#define TBTS_BOTTOM 2
826#define TBTS_RIGHT 3
827#endif
828#if (_WIN32_IE >= 0x0500)
829#define TBS_REVERSED 0x0200
830#endif
831#if (_WIN32_IE >= 0x0501)
832#define TBS_DOWNISLEFT 0x0400
833#endif
834#if _WIN32_IE >= 0x400
835#define TBIF_BYINDEX 0x80000000
836#define TBIF_COMMAND 32
837#define TBIF_IMAGE 1
838#define TBIF_LPARAM 16
839#define TBIF_SIZE 64
840#define TBIF_STATE 4
841#define TBIF_STYLE 8
842#define TBIF_TEXT 2
843#endif
844#define TBM_GETPOS (WM_USER)
845#define TBM_GETRANGEMIN (WM_USER+1)
846#define TBM_GETRANGEMAX (WM_USER+2)
847#define TBM_GETTIC (WM_USER+3)
848#define TBM_SETTIC (WM_USER+4)
849#define TBM_SETPOS (WM_USER+5)
850#define TBM_SETRANGE (WM_USER+6)
851#define TBM_SETRANGEMIN (WM_USER+7)
852#define TBM_SETRANGEMAX (WM_USER+8)
853#define TBM_CLEARTICS (WM_USER+9)
854#define TBM_SETSEL (WM_USER+10)
855#define TBM_SETSELSTART (WM_USER+11)
856#define TBM_SETSELEND (WM_USER+12)
857#define TBM_GETPTICS (WM_USER+14)
858#define TBM_GETTICPOS (WM_USER+15)
859#define TBM_GETNUMTICS (WM_USER+16)
860#define TBM_GETSELSTART (WM_USER+17)
861#define TBM_GETSELEND (WM_USER+18)
862#define TBM_CLEARSEL (WM_USER+19)
863#define TBM_SETTICFREQ (WM_USER+20)
864#define TBM_SETPAGESIZE (WM_USER+21)
865#define TBM_GETPAGESIZE (WM_USER+22)
866#define TBM_SETLINESIZE (WM_USER+23)
867#define TBM_GETLINESIZE (WM_USER+24)
868#define TBM_GETTHUMBRECT (WM_USER+25)
869#define TBM_GETCHANNELRECT (WM_USER+26)
870#define TBM_SETTHUMBLENGTH (WM_USER+27)
871#define TBM_GETTHUMBLENGTH (WM_USER+28)
872#define TBM_SETTOOLTIPS (WM_USER+29)
873#define TBM_GETTOOLTIPS (WM_USER+30)
874#define TBM_SETTIPSIDE (WM_USER+31)
875#define TBM_SETBUDDY (WM_USER+32)
876#define TBM_GETBUDDY (WM_USER+33)
877#define TBM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
878#define TBM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
879#define TB_LINEUP 0
880#define TB_LINEDOWN 1
881#define TB_PAGEUP 2
882#define TB_PAGEDOWN 3
883#define TB_THUMBPOSITION 4
884#define TB_THUMBTRACK 5
885#define TB_TOP 6
886#define TB_BOTTOM 7
887#define TB_ENDTRACK 8
888#define HOTKEYF_SHIFT 1
889#define HOTKEYF_CONTROL 2
890#define HOTKEYF_ALT 4
891#define HOTKEYF_EXT 8
892#define HKCOMB_NONE 1
893#define HKCOMB_S 2
894#define HKCOMB_C 4
895#define HKCOMB_A 8
896#define HKCOMB_SC 16
897#define HKCOMB_SA 32
898#define HKCOMB_CA 64
899#define HKCOMB_SCA 128
900#define HKM_SETHOTKEY (WM_USER+1)
901#define HKM_GETHOTKEY (WM_USER+2)
902#define HKM_SETRULES (WM_USER+3)
903#define PBM_SETRANGE (WM_USER+1)
904#define PBM_SETPOS (WM_USER+2)
905#define PBM_DELTAPOS (WM_USER+3)
906#define PBM_SETSTEP (WM_USER+4)
907#define PBM_STEPIT (WM_USER+5)
908#define PBM_SETRANGE32 1030
909#define PBM_GETRANGE 1031
910#define PBM_GETPOS 1032
911#define PBM_SETBARCOLOR 1033
912#define PBM_SETBKCOLOR CCM_SETBKCOLOR
913#define PBS_SMOOTH 1
914#define PBS_VERTICAL 4
915#define LVS_ICON 0
916#define LVS_REPORT 1
917#define LVS_SMALLICON 2
918#define LVS_LIST 3
919#define LVS_TYPEMASK 3
920#define LVS_SINGLESEL 4
921#define LVS_SHOWSELALWAYS 8
922#define LVS_SORTASCENDING 16
923#define LVS_SORTDESCENDING 32
924#define LVS_SHAREIMAGELISTS 64
925#define LVS_NOLABELWRAP 128
926#define LVS_AUTOARRANGE 256
927#define LVS_EDITLABELS 512
928#define LVS_NOSCROLL 0x2000
929#define LVS_TYPESTYLEMASK 0xfc00
930#define LVS_ALIGNTOP 0
931#define LVS_ALIGNLEFT 0x800
932#define LVS_ALIGNMASK 0xc00
933#define LVS_OWNERDRAWFIXED 0x400
934#define LVS_NOCOLUMNHEADER 0x4000
935#define LVS_NOSORTHEADER 0x8000
936#if (_WIN32_IE >= 0x0300)
937#define CDIS_CHECKED 8
938#define CDIS_DEFAULT 32
939#define CDIS_DISABLED 4
940#define CDIS_FOCUS 16
941#define CDIS_GRAYED 2
942#define CDIS_HOT 64
943#define CDIS_SELECTED 1
944#define CDIS_MARKED 128
945#define CDIS_INDETERMINATE 256
946#if (_WIN32_WINNT >= 0x0501)
947#define CDIS_SHOWKEYBOARDCUES 512
948#endif
949#define CDDS_POSTERASE 4
950#define CDDS_POSTPAINT 2
951#define CDDS_PREERASE 3
952#define CDDS_PREPAINT 1
953#define CDDS_ITEM 65536
954#define CDDS_ITEMPOSTERASE 65540
955#define CDDS_ITEMPOSTPAINT 65538
956#define CDDS_ITEMPREERASE 65539
957#define CDDS_ITEMPREPAINT 65537
958#if (_WIN32_IE >= 0x0400)
959#define CDDS_SUBITEM 0x20000
960#endif
961#define CDRF_DODEFAULT 0x00
962#define CDRF_NOTIFYITEMDRAW 0x20
963#define CDRF_NOTIFYSUBITEMDRAW 0x20
964#define CDRF_NOTIFYITEMERASE 0x80
965#define CDRF_NOTIFYPOSTERASE 0x40
966#define CDRF_NOTIFYPOSTPAINT 0x10
967#define CDRF_NEWFONT 0x02
968#define CDRF_SKIPDEFAULT 0x04
969#if (_WIN32_IE >= 0x0400)
970#define LVBKIF_SOURCE_NONE 0x00000000
971#define LVBKIF_SOURCE_HBITMAP 0x00000001
972#define LVBKIF_SOURCE_URL 0x00000002
973#define LVBKIF_SOURCE_MASK 0x00000003
974#define LVBKIF_STYLE_NORMAL 0x00000000
975#define LVBKIF_STYLE_TILE 0x00000010
976#define LVBKIF_STYLE_MASK 0x00000010
977#endif /* _WIN32_IE >=0x0400 */
978#if (_WIN32_WINNT >= 0x501)
979#define LVBKIF_FLAG_TILEOFFSET 0x00000100
980#define LVBKIF_TYPE_WATERMARK 0x10000000
981#endif /* _WIN32_WINNT >= 0x501 */
982#define LVS_OWNERDATA 4096
983#define LVS_EX_CHECKBOXES 4
984#define LVS_EX_FULLROWSELECT 32
985#define LVS_EX_GRIDLINES 1
986#define LVS_EX_HEADERDRAGDROP 16
987#define LVS_EX_ONECLICKACTIVATE 64
988#define LVS_EX_SUBITEMIMAGES 2
989#define LVS_EX_TRACKSELECT 8
990#define LVS_EX_TWOCLICKACTIVATE 128
991#define LVSICF_NOINVALIDATEALL 0x00000001
992#define LVSICF_NOSCROLL 0x00000002
993#if( _WIN32_IE >= 0x0400 )
994#define LVS_EX_FLATSB 0x00000100
995#define LVS_EX_REGIONAL 0x00000200
996#define LVS_EX_INFOTIP 0x00000400
997#define LVS_EX_UNDERLINEHOT 0x00000800
998#define LVS_EX_UNDERLINECOLD 0x00001000
999#define LVS_EX_MULTIWORKAREAS 0x00002000
1000#endif /* _WIN32_IE >=0x0400 */
1001#if( _WIN32_IE >= 0x0500 )
1002#define LVS_EX_LABELTIP 0x00004000
1003#define LVS_EX_BORDERSELECT 0x00008000
1004#endif /* _WIN32_IE >= 0x0500 */
1005#endif /* _WIN32_IE >= 0x0300 */
1006#define LVSIL_NORMAL 0
1007#define LVSIL_SMALL 1
1008#define LVSIL_STATE 2
1009#define LVM_GETBKCOLOR LVM_FIRST
1010#define LVM_SETBKCOLOR (LVM_FIRST+1)
1011#define LVM_GETIMAGELIST (LVM_FIRST+2)
1012#define LVM_SETIMAGELIST (LVM_FIRST+3)
1013#define LVM_GETITEMCOUNT (LVM_FIRST+4)
1014#define LVM_SORTITEMSEX (LVM_FIRST+81)
1015#if (_WIN32_WINNT >= 0x501)
1016#define LVM_SETSELECTEDCOLUMN (LVM_FIRST+140)
1017#endif
1018#define LVM_SETVIEW (LVM_FIRST+142)
1019#define LVM_GETVIEW (LVM_FIRST+143)
1020#define LVM_INSERTGROUP (LVM_FIRST+145)
1021#define LVM_SETGROUPINFO (LVM_FIRST+147)
1022#define LVM_GETGROUPINFO (LVM_FIRST+149)
1023#define LVM_REMOVEGROUP (LVM_FIRST+150)
1024#define LVM_MOVEGROUP (LVM_FIRST+151)
1025#define LVM_SETGROUPMETRICS (LVM_FIRST+155)
1026#define LVM_GETGROUPMETRICS (LVM_FIRST+156)
1027#define LVM_ENABLEGROUPVIEW (LVM_FIRST+157)
1028#define LVM_SORTGROUPS (LVM_FIRST+158)
1029#define LVM_INSERTGROUPSORTED (LVM_FIRST+159)
1030#define LVM_REMOVEALLGROUPS (LVM_FIRST+160)
1031#define LVM_HASGROUP (LVM_FIRST+161)
1032#define LVM_SETTILEVIEWINFO (LVM_FIRST+162)
1033#define LVM_GETTILEVIEWINFO (LVM_FIRST+163)
1034#define LVM_SETTILEINFO (LVM_FIRST+164)
1035#define LVM_GETTILEINFO (LVM_FIRST+165)
1036#define LVM_SETINSERTMARK (LVM_FIRST+166)
1037#define LVM_GETINSERTMARK (LVM_FIRST+167)
1038#define LVM_INSERTMARKHITTEST (LVM_FIRST+168)
1039#define LVM_GETINSERTMARKRECT (LVM_FIRST+169)
1040#define LVM_SETINSERTMARKCOLOR (LVM_FIRST+170)
1041#define LVM_GETINSERTMARKCOLOR (LVM_FIRST+171)
1042#define LVM_SETINFOTIP (LVM_FIRST+173)
1043#define LVM_GETSELECTEDCOLUMN (LVM_FIRST+174)
1044#define LVM_ISGROUPVIEWENABLED (LVM_FIRST+175)
1045#define LVM_GETOUTLINECOLOR (LVM_FIRST+176)
1046#define LVM_SETOUTLINECOLOR (LVM_FIRST+177)
1047#define LVM_CANCELEDITLABEL (LVM_FIRST+179)
1048#define LVM_MAPIDTOINDEX (LVM_FIRST+181)
1049#define LVIF_TEXT 1
1050#define LVIF_IMAGE 2
1051#define LVIF_PARAM 4
1052#define LVIF_STATE 8
1053#if (_WIN32_IE >= 0x0300)
1054#define LVIF_INDENT 16
1055#define LVIF_NORECOMPUTE 2048
1056#endif
1057#if (_WIN32_WINNT >= 0x0501)
1058#define LVIF_GROUPID 256
1059#define LVIF_COLUMNS 512
1060#endif
1061#define LVIS_FOCUSED 1
1062#define LVIS_SELECTED 2
1063#define LVIS_CUT 4
1064#define LVIS_DROPHILITED 8
1065#define LVIS_OVERLAYMASK 0xF00
1066#define LVIS_STATEIMAGEMASK 0xF000
1067#define LPSTR_TEXTCALLBACKW ((LPWSTR)-1)
1068#define LPSTR_TEXTCALLBACKA ((LPSTR)-1)
1069#define I_IMAGECALLBACK (-1)
1070#define LVM_GETITEMA (LVM_FIRST+5)
1071#define LVM_GETITEMW (LVM_FIRST+75)
1072#define LVM_SETITEMA (LVM_FIRST+6)
1073#define LVM_SETITEMW (LVM_FIRST+76)
1074#define LVM_INSERTITEMA (LVM_FIRST+7)
1075#define LVM_INSERTITEMW (LVM_FIRST+77)
1076#define LVM_DELETEITEM (LVM_FIRST+8)
1077#define LVM_DELETEALLITEMS (LVM_FIRST+9)
1078#define LVM_GETCALLBACKMASK (LVM_FIRST+10)
1079#define LVM_SETCALLBACKMASK (LVM_FIRST+11)
1080#if( _WIN32_IE >= 0x0400 )
1081#define LVM_SETBKIMAGEA (LVM_FIRST + 68)
1082#define LVM_SETBKIMAGEW (LVM_FIRST + 138)
1083#define LVM_GETBKIMAGEA (LVM_FIRST + 69)
1084#define LVM_GETBKIMAGEW (LVM_FIRST + 139)
1085#define LV_MAX_WORKAREAS 16
1086#define LVM_SETWORKAREAS (LVM_FIRST+65)
1087#define LVM_GETWORKAREAS (LVM_FIRST+70)
1088#define LVM_GETNUMBEROFWORKAREAS (LVM_FIRST+73)
1089#define LVM_GETSELECTIONMARK (LVM_FIRST+66)
1090#define LVM_SETSELECTIONMARK (LVM_FIRST+67)
1091#define LVM_SETHOVERTIME (LVM_FIRST+71)
1092#define LVM_GETHOVERTIME (LVM_FIRST+72)
1093#define LVM_SETTOOLTIPS (LVM_FIRST+74)
1094#define LVM_GETTOOLTIPS (LVM_FIRST+78)
1095#define LVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
1096#define LVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
1097#endif /* _WIN32_IE >= 0x0400 */
1098#define LVNI_ALL 0
1099#define LVNI_FOCUSED 1
1100#define LVNI_SELECTED 2
1101#define LVNI_CUT 4
1102#define LVNI_DROPHILITED 8
1103#define LVNI_ABOVE 256
1104#define LVNI_BELOW 512
1105#define LVNI_TOLEFT 1024
1106#define LVNI_TORIGHT 2048
1107#define LVM_GETNEXTITEM (LVM_FIRST+12)
1108#define LVFI_PARAM 1
1109#define LVFI_STRING 2
1110#define LVFI_PARTIAL 8
1111#define LVFI_WRAP 32
1112#define LVFI_NEARESTXY 64
1113#define LVIF_DI_SETITEM 0x1000
1114#define LVM_FINDITEMA (LVM_FIRST+13)
1115#define LVM_FINDITEMW (LVM_FIRST+83)
1116#define LVIR_BOUNDS 0
1117#define LVIR_ICON 1
1118#define LVIR_LABEL 2
1119#define LVIR_SELECTBOUNDS 3
1120#define LVM_GETITEMRECT (LVM_FIRST+14)
1121#define LVM_SETITEMPOSITION (LVM_FIRST+15)
1122#define LVM_GETITEMPOSITION (LVM_FIRST+16)
1123#define LVM_GETSTRINGWIDTHA (LVM_FIRST+17)
1124#define LVM_GETSTRINGWIDTHW (LVM_FIRST+87)
1125#define LVHT_NOWHERE 1
1126#define LVHT_ONITEMICON 2
1127#define LVHT_ONITEMLABEL 4
1128#define LVHT_ONITEMSTATEICON 8
1129#define LVHT_ONITEM (LVHT_ONITEMICON|LVHT_ONITEMLABEL|LVHT_ONITEMSTATEICON)
1130#define LVHT_ABOVE 8
1131#define LVHT_BELOW 16
1132#define LVHT_TORIGHT 32
1133#define LVHT_TOLEFT 64
1134#define LVM_HITTEST (LVM_FIRST+18)
1135#define LVM_ENSUREVISIBLE (LVM_FIRST+19)
1136#define LVM_SCROLL (LVM_FIRST+20)
1137#define LVM_REDRAWITEMS (LVM_FIRST+21)
1138#define LVA_DEFAULT 0
1139#define LVA_ALIGNLEFT 1
1140#define LVA_ALIGNTOP 2
1141#define LVA_SNAPTOGRID 5
1142#define LVM_ARRANGE (LVM_FIRST+22)
1143#define LVM_EDITLABELA (LVM_FIRST+23)
1144#define LVM_EDITLABELW (LVM_FIRST+118)
1145#define LVM_GETEDITCONTROL (LVM_FIRST+24)
1146#define LVCF_FMT 1
1147#define LVCF_WIDTH 2
1148#define LVCF_TEXT 4
1149#define LVCF_SUBITEM 8
1150#if (_WIN32_IE >= 0x0300)
1151#define LVCF_IMAGE 16
1152#define LVCF_ORDER 32
1153#endif
1154#define LVCFMT_LEFT 0
1155#define LVCFMT_RIGHT 1
1156#define LVCFMT_CENTER 2
1157#define LVCFMT_JUSTIFYMASK 3
1158#if (_WIN32_IE >= 0x0300)
1159#define LVCFMT_BITMAP_ON_RIGHT 4096
1160#define LVCFMT_COL_HAS_IMAGES 32768
1161#define LVCFMT_IMAGE 2048
1162#endif
1163#define LVM_GETCOLUMNA (LVM_FIRST+25)
1164#define LVM_GETCOLUMNW (LVM_FIRST+95)
1165#define LVM_SETCOLUMNA (LVM_FIRST+26)
1166#define LVM_SETCOLUMNW (LVM_FIRST+96)
1167#define LVM_INSERTCOLUMNA (LVM_FIRST+27)
1168#define LVM_INSERTCOLUMNW (LVM_FIRST+97)
1169#define LVM_DELETECOLUMN (LVM_FIRST+28)
1170#define LVM_GETCOLUMNWIDTH (LVM_FIRST+29)
1171#define LVSCW_AUTOSIZE (-1)
1172#define LVSCW_AUTOSIZE_USEHEADER (-2)
1173#define LVM_SETCOLUMNWIDTH (LVM_FIRST+30)
1174#define LVM_CREATEDRAGIMAGE (LVM_FIRST+33)
1175#define LVM_GETVIEWRECT (LVM_FIRST+34)
1176#define LVM_GETTEXTCOLOR (LVM_FIRST+35)
1177#define LVM_SETTEXTCOLOR (LVM_FIRST+36)
1178#define LVM_GETTEXTBKCOLOR (LVM_FIRST+37)
1179#define LVM_SETTEXTBKCOLOR (LVM_FIRST+38)
1180#define LVM_GETTOPINDEX (LVM_FIRST+39)
1181#define LVM_GETCOUNTPERPAGE (LVM_FIRST+40)
1182#define LVM_GETORIGIN (LVM_FIRST+41)
1183#define LVM_GETORIGIN (LVM_FIRST+41)
1184#define LVM_UPDATE (LVM_FIRST+42)
1185#define LVM_SETITEMSTATE (LVM_FIRST+43)
1186#define LVM_GETITEMSTATE (LVM_FIRST+44)
1187#define LVM_GETITEMTEXTA (LVM_FIRST+45)
1188#define LVM_GETITEMTEXTW (LVM_FIRST+115)
1189#define LVM_SETITEMTEXTA (LVM_FIRST+46)
1190#define LVM_SETITEMTEXTW (LVM_FIRST+116)
1191#define LVM_SETITEMCOUNT (LVM_FIRST+47)
1192#define LVM_SORTITEMS (LVM_FIRST+48)
1193#define LVM_SETITEMPOSITION32 (LVM_FIRST+49)
1194#define LVM_GETSELECTEDCOUNT (LVM_FIRST+50)
1195#define LVM_GETITEMSPACING (LVM_FIRST+51)
1196#define LVM_GETISEARCHSTRINGA (LVM_FIRST+52)
1197#define LVM_GETISEARCHSTRINGW (LVM_FIRST+117)
1198#if (_WIN32_IE >= 0x0300)
1199#define LVM_APPROXIMATEVIEWRECT (LVM_FIRST+64)
1200#define LVM_SETEXTENDEDLISTVIEWSTYLE (LVM_FIRST+54)
1201#define LVM_GETEXTENDEDLISTVIEWSTYLE (LVM_FIRST+55)
1202#define LVM_SETCOLUMNORDERARRAY (LVM_FIRST+58)
1203#define LVM_GETCOLUMNORDERARRAY (LVM_FIRST+59)
1204#define LVM_GETHEADER (LVM_FIRST+31)
1205#define LVM_GETHOTCURSOR (LVM_FIRST+63)
1206#define LVM_GETHOTITEM (LVM_FIRST+61)
1207#define LVM_GETSUBITEMRECT (LVM_FIRST+56)
1208#define LVM_SETHOTCURSOR (LVM_FIRST+62)
1209#define LVM_SETHOTITEM (LVM_FIRST+60)
1210#define LVM_SETICONSPACING (LVM_FIRST+53)
1211#define LVM_SUBITEMHITTEST (LVM_FIRST+57)
1212#endif
1213#define LVN_ITEMCHANGING LVN_FIRST
1214#define LVN_ITEMCHANGED (LVN_FIRST-1)
1215#define LVN_INSERTITEM (LVN_FIRST-2)
1216#define LVN_DELETEITEM (LVN_FIRST-3)
1217#define LVN_DELETEALLITEMS (LVN_FIRST-4)
1218#define LVN_BEGINLABELEDITA (LVN_FIRST-5)
1219#define LVN_BEGINLABELEDITW (LVN_FIRST-75)
1220#define LVN_ENDLABELEDITA (LVN_FIRST-6)
1221#define LVN_ENDLABELEDITW (LVN_FIRST-76)
1222#define LVN_COLUMNCLICK (LVN_FIRST-8)
1223#define LVN_BEGINDRAG (LVN_FIRST-9)
1224#define LVN_BEGINRDRAG (LVN_FIRST-11)
1225#define LVN_GETDISPINFOA (LVN_FIRST-50)
1226#define LVN_GETDISPINFOW (LVN_FIRST-77)
1227#define LVN_SETDISPINFOA (LVN_FIRST-51)
1228#define LVN_SETDISPINFOW (LVN_FIRST-78)
1229#define LVN_KEYDOWN (LVN_FIRST-55)
1230#if (_WIN32_IE >= 0x0400)
1231#define LVN_MARQUEEBEGIN (LVN_FIRST-56)
1232#define LVN_GETINFOTIPA (LVN_FIRST-57)
1233#define LVN_GETINFOTIPW (LVN_FIRST-58)
1234#define LVKF_ALT 0x0001
1235#define LVKF_CONTROL 0x0002
1236#define LVKF_SHIFT 0x0004
1237#define LVGIT_UNFOLDED 1
1238#endif
1239#define TVS_HASBUTTONS 1
1240#define TVS_HASLINES 2
1241#define TVS_LINESATROOT 4
1242#define TVS_EDITLABELS 8
1243#define TVS_DISABLEDRAGDROP 16
1244#define TVS_SHOWSELALWAYS 32
1245#if (_WIN32_IE >= 0x0300)
1246#define TVS_CHECKBOXES 256
1247#define TVS_NOTOOLTIPS 128
1248#define TVS_RTLREADING 64
1249#define TVS_TRACKSELECT 512
1250#endif
1251#if (_WIN32_IE >= 0x0400)
1252#define TVS_FULLROWSELECT 4096
1253#define TVS_INFOTIP 2048
1254#define TVS_NONEVENHEIGHT 16384
1255#define TVS_NOSCROLL 8192
1256#define TVS_SINGLEEXPAND 1024
1257#endif
1258#if( _WIN32_IE >= 0x0500 )
1259#define TVS_NOHSCROLL 0x8000
1260#endif /* _WIN32_IE >= 0x0500 */
1261#define TVIF_TEXT 1
1262#define TVIF_IMAGE 2
1263#define TVIF_PARAM 4
1264#define TVIF_STATE 8
1265#define TVIF_HANDLE 16
1266#define TVIF_SELECTEDIMAGE 32
1267#define TVIF_CHILDREN 64
1268#if (_WIN32_IE >= 0x0400)
1269#define TVIF_INTEGRAL 0x0080
1270#endif /* _WIN32_IE >= 0x0400 */
1271#define TVIS_FOCUSED 1
1272#define TVIS_SELECTED 2
1273#define TVIS_CUT 4
1274#define TVIS_DROPHILITED 8
1275#define TVIS_BOLD 16
1276#define TVIS_EXPANDED 32
1277#define TVIS_EXPANDEDONCE 64
1278#define TVIS_OVERLAYMASK 0xF00
1279#define TVIS_STATEIMAGEMASK 0xF000
1280#define TVIS_USERMASK 0xF000
1281#define I_CHILDRENCALLBACK (-1)
1282#define TVI_ROOT ((HTREEITEM)0xFFFF0000)
1283#define TVI_FIRST ((HTREEITEM)0xFFFF0001)
1284#define TVI_LAST ((HTREEITEM)0xFFFF0002)
1285#define TVI_SORT ((HTREEITEM)0xFFFF0003)
1286#define TVSIL_NORMAL 0
1287#define TVSIL_STATE 2
1288#define TVM_INSERTITEMA TV_FIRST
1289#define TVM_INSERTITEMW (TV_FIRST+50)
1290#define TVM_DELETEITEM (TV_FIRST+1)
1291#define TVM_EXPAND (TV_FIRST+2)
1292#define TVM_GETITEMRECT (TV_FIRST+4)
1293#define TVM_GETCOUNT (TV_FIRST+5)
1294#define TVM_GETINDENT (TV_FIRST+6)
1295#define TVM_SETINDENT (TV_FIRST+7)
1296#define TVM_GETIMAGELIST (TV_FIRST+8)
1297#define TVM_SETIMAGELIST (TV_FIRST+9)
1298#define TVM_GETNEXTITEM (TV_FIRST+10)
1299#define TVM_SELECTITEM (TV_FIRST+11)
1300#define TVM_GETITEMA (TV_FIRST+12)
1301#define TVM_GETITEMW (TV_FIRST+62)
1302#define TVM_SETITEMA (TV_FIRST+13)
1303#define TVM_SETITEMW (TV_FIRST+63)
1304#define TVM_EDITLABELA (TV_FIRST+14)
1305#define TVM_EDITLABELW (TV_FIRST+65)
1306#define TVM_GETEDITCONTROL (TV_FIRST+15)
1307#define TVM_GETVISIBLECOUNT (TV_FIRST+16)
1308#define TVM_HITTEST (TV_FIRST+17)
1309#define TVM_CREATEDRAGIMAGE (TV_FIRST+18)
1310#define TVM_SORTCHILDREN (TV_FIRST+19)
1311#define TVM_ENSUREVISIBLE (TV_FIRST+20)
1312#define TVM_SORTCHILDRENCB (TV_FIRST+21)
1313#define TVM_ENDEDITLABELNOW (TV_FIRST+22)
1314#define TVM_GETISEARCHSTRINGA (TV_FIRST+23)
1315#define TVM_GETISEARCHSTRINGW (TV_FIRST+64)
1316#if (_WIN32_IE >= 0x0300)
1317#define TVM_GETTOOLTIPS (TV_FIRST+25)
1318#define TVM_SETTOOLTIPS (TV_FIRST+24)
1319#endif
1320#if (_WIN32_IE >= 0x0400)
1321#define TVM_GETBKCOLOR (TV_FIRST+31)
1322#define TVM_GETINSERTMARKCOLOR (TV_FIRST+38)
1323#define TVM_GETITEMHEIGHT (TV_FIRST+28)
1324#define TVM_GETSCROLLTIME (TV_FIRST+34)
1325#define TVM_GETTEXTCOLOR (TV_FIRST+32)
1326#define TVM_SETBKCOLOR (TV_FIRST+29)
1327#define TVM_SETINSERTMARK (TV_FIRST+26)
1328#define TVM_SETINSERTMARKCOLOR (TV_FIRST+37)
1329#define TVM_SETITEMHEIGHT (TV_FIRST+27)
1330#define TVM_SETSCROLLTIME (TV_FIRST+33)
1331#define TVM_SETTEXTCOLOR (TV_FIRST+30)
1332#define TVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
1333#define TVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
1334#endif
1335#if (_WIN32_IE >= 0x0500)
1336#define TVM_GETITEMSTATE (TV_FIRST+39)
1337#define TVM_SETLINECOLOR (TV_FIRST+40)
1338#define TVM_GETLINECOLOR (TV_FIRST+41)
1339#endif
1340#define TVE_COLLAPSE 1
1341#define TVE_EXPAND 2
1342#define TVE_TOGGLE 3
1343#define TVE_COLLAPSERESET 0x8000
1344#if (_WIN32_IE >= 0x0300)
1345#define TVE_EXPANDPARTIAL 0x4000
1346#endif
1347#define TVC_UNKNOWN 0
1348#define TVC_BYMOUSE 1
1349#define TVC_BYKEYBOARD 2
1350#define TVGN_ROOT 0
1351#define TVGN_NEXT 1
1352#define TVGN_PREVIOUS 2
1353#define TVGN_PARENT 3
1354#define TVGN_CHILD 4
1355#define TVGN_FIRSTVISIBLE 5
1356#define TVGN_NEXTVISIBLE 6
1357#define TVGN_PREVIOUSVISIBLE 7
1358#define TVGN_DROPHILITE 8
1359#define TVGN_CARET 9
1360#if (_WIN32_IE >= 0x0400)
1361#define TVGN_LASTVISIBLE 10
1362#endif
1363#define TVN_SELCHANGINGA (TVN_FIRST-1)
1364#define TVN_SELCHANGINGW (TVN_FIRST-50)
1365#define TVN_SELCHANGEDA (TVN_FIRST-2)
1366#define TVN_SELCHANGEDW (TVN_FIRST-51)
1367#define TVN_GETDISPINFOA (TVN_FIRST-3)
1368#define TVN_GETDISPINFOW (TVN_FIRST-52)
1369#define TVN_SETDISPINFOA (TVN_FIRST-4)
1370#define TVN_SETDISPINFOW (TVN_FIRST-53)
1371#define TVN_ITEMEXPANDINGA (TVN_FIRST-5)
1372#define TVN_ITEMEXPANDINGW (TVN_FIRST-54)
1373#define TVN_ITEMEXPANDEDA (TVN_FIRST-6)
1374#define TVN_ITEMEXPANDEDW (TVN_FIRST-55)
1375#define TVN_BEGINDRAGA (TVN_FIRST-7)
1376#define TVN_BEGINDRAGW (TVN_FIRST-56)
1377#define TVN_BEGINRDRAGA (TVN_FIRST-8)
1378#define TVN_BEGINRDRAGW (TVN_FIRST-57)
1379#define TVN_DELETEITEMA (TVN_FIRST-9)
1380#define TVN_DELETEITEMW (TVN_FIRST-58)
1381#define TVN_BEGINLABELEDITA (TVN_FIRST-10)
1382#define TVN_BEGINLABELEDITW (TVN_FIRST-59)
1383#define TVN_ENDLABELEDITA (TVN_FIRST-11)
1384#define TVN_ENDLABELEDITW (TVN_FIRST-60)
1385#define TVN_KEYDOWN (TVN_FIRST-12)
1386#if (_WIN32_IE >= 0x0400)
1387#define TVN_GETINFOTIPA (TVN_FIRST-13)
1388#define TVN_GETINFOTIPW (TVN_FIRST-14)
1389#define TVN_SINGLEEXPAND (TVN_FIRST-15)
1390#define TVNRET_DEFAULT 0
1391#define TVNRET_SKIPOLD 1
1392#define TVNRET_SKIPNEW 2
1393#endif /* _WIN32_IE >= 0x0400 */
1394#define TVIF_DI_SETITEM 0x1000
1395#define TVHT_NOWHERE 1
1396#define TVHT_ONITEMICON 2
1397#define TVHT_ONITEMLABEL 4
1398#define TVHT_ONITEM (TVHT_ONITEMICON|TVHT_ONITEMLABEL|TVHT_ONITEMSTATEICON)
1399#define TVHT_ONITEMINDENT 8
1400#define TVHT_ONITEMBUTTON 16
1401#define TVHT_ONITEMRIGHT 32
1402#define TVHT_ONITEMSTATEICON 64
1403#define TVHT_ABOVE 256
1404#define TVHT_BELOW 512
1405#define TVHT_TORIGHT 1024
1406#define TVHT_TOLEFT 2048
1407#define TCHT_NOWHERE 1
1408#define TCHT_ONITEMICON 2
1409#define TCHT_ONITEMLABEL 4
1410#define TCHT_ONITEM (TCHT_ONITEMICON|TCHT_ONITEMLABEL)
1411#define TCS_FORCEICONLEFT 16
1412#define TCS_FORCELABELLEFT 32
1413#define TCS_TABS 0
1414#define TCS_BUTTONS 256
1415#define TCS_SINGLELINE 0
1416#define TCS_MULTILINE 512
1417#define TCS_RIGHTJUSTIFY 0
1418#define TCS_FIXEDWIDTH 1024
1419#define TCS_RAGGEDRIGHT 2048
1420#define TCS_FOCUSONBUTTONDOWN 0x1000
1421#define TCS_OWNERDRAWFIXED 0x2000
1422#define TCS_TOOLTIPS 0x4000
1423#define TCS_FOCUSNEVER 0x8000
1424#if (_WIN32_IE >= 0x0300)
1425#define TCS_BOTTOM 2
1426#define TCS_RIGHT 2
1427#define TCS_VERTICAL 128
1428#define TCS_SCROLLOPPOSITE 0x0001
1429#define TCS_HOTTRACK 0x0040
1430#define TCS_MULTISELECT 0x0004
1431#endif
1432#if( _WIN32_IE >= 0x0400 )
1433#define TCS_FLATBUTTONS 0x0008
1434#define TCS_EX_FLATSEPARATORS 0x00000001
1435#define TCS_EX_REGISTERDROP 0x00000002
1436#endif /* _WIN32_IE >= 0x0400 */
1437#define TCIF_TEXT 1
1438#define TCIF_IMAGE 2
1439#define TCIF_RTLREADING 4
1440#define TCIF_PARAM 8
1441#if (_WIN32_IE >= 0x0400)
1442#define TCIF_STATE 16
1443#endif
1444#define TCIS_BUTTONPRESSED 1
1445#if (_WIN32_IE >= 0x0400)
1446#define TCIS_HIGHLIGHTED 2
1447#endif
1448#define TCM_FIRST 0x1300
1449#define TCM_GETIMAGELIST (TCM_FIRST+2)
1450#define TCM_SETIMAGELIST (TCM_FIRST+3)
1451#define TCM_GETITEMCOUNT (TCM_FIRST+4)
1452#define TCM_GETITEMA (TCM_FIRST+5)
1453#define TCM_GETITEMW (TCM_FIRST+60)
1454#define TCM_SETITEMA (TCM_FIRST+6)
1455#define TCM_SETITEMW (TCM_FIRST+61)
1456#define TCM_INSERTITEMA (TCM_FIRST+7)
1457#define TCM_INSERTITEMW (TCM_FIRST+62)
1458#define TCM_DELETEITEM (TCM_FIRST+8)
1459#define TCM_DELETEALLITEMS (TCM_FIRST+9)
1460#define TCM_GETITEMRECT (TCM_FIRST+10)
1461#define TCM_GETCURSEL (TCM_FIRST+11)
1462#define TCM_SETCURSEL (TCM_FIRST+12)
1463#define TCM_HITTEST (TCM_FIRST+13)
1464#define TCM_SETITEMEXTRA (TCM_FIRST+14)
1465
1466#define TCM_ADJUSTRECT (TCM_FIRST+40)
1467#define TCM_SETITEMSIZE (TCM_FIRST+41)
1468#define TCM_REMOVEIMAGE (TCM_FIRST+42)
1469#define TCM_SETPADDING (TCM_FIRST+43)
1470#define TCM_GETROWCOUNT (TCM_FIRST+44)
1471#define TCM_GETTOOLTIPS (TCM_FIRST+45)
1472#define TCM_SETTOOLTIPS (TCM_FIRST+46)
1473#define TCM_GETCURFOCUS (TCM_FIRST+47)
1474#define TCM_SETCURFOCUS (TCM_FIRST+48)
1475#define TCM_SETMINTABWIDTH (TCM_FIRST + 49)
1476#define TCM_DESELECTALL (TCM_FIRST + 50)
1477#if (_WIN32_IE >=0x0400)
1478#define TCM_HIGHLIGHTITEM (TCM_FIRST + 51)
1479#define TCM_SETEXTENDEDSTYLE (TCM_FIRST + 52)
1480#define TCM_GETEXTENDEDSTYLE (TCM_FIRST + 53)
1481#define TCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
1482#define TCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
1483#endif /* _WIN32_IE >=0x0400 */
1484#define TCN_KEYDOWN TCN_FIRST
1485#define TCN_SELCHANGE (TCN_FIRST-1)
1486#define TCN_SELCHANGING (TCN_FIRST-2)
1487#define NM_OUTOFMEMORY (NM_FIRST-1)
1488#define NM_CLICK (NM_FIRST-2)
1489#define NM_DBLCLK (NM_FIRST-3)
1490#define NM_RETURN (NM_FIRST-4)
1491#define NM_RCLICK (NM_FIRST-5)
1492#define NM_RDBLCLK (NM_FIRST-6)
1493#define NM_SETFOCUS (NM_FIRST-7)
1494#define NM_KILLFOCUS (NM_FIRST-8)
1495#define NM_CUSTOMDRAW (NM_FIRST-12)
1496#define NM_HOVER (NM_FIRST-13)
1497#define NM_NCHITTEST (NM_FIRST-14)
1498#define NM_KEYDOWN (NM_FIRST-15)
1499#define NM_RELEASEDCAPTURE (NM_FIRST-16)
1500#define NM_SETCURSOR (NM_FIRST-17)
1501#define NM_CHAR (NM_FIRST-18)
1502#define NM_TOOLTIPSCREATED (NM_FIRST-19)
1503#define SBARS_SIZEGRIP 256
1504#define CCM_FIRST 0x2000
1505#define CCM_LAST (CCM_FIRST+0x200)
1506#define CCM_SETBKCOLOR 8193
1507#define CCM_SETCOLORSCHEME 8194
1508#define CCM_GETCOLORSCHEME 8195
1509#define CCM_GETDROPTARGET 8196
1510#define CCM_SETUNICODEFORMAT 8197
1511#define CCM_GETUNICODEFORMAT 8198
1512#define CCM_SETVERSION 0x2007
1513#define CCM_GETVERSION 0x2008
1514#define CCM_SETNOTIFYWINDOW 0x2009
1515#if (_WIN32_WINNT >= 0x0501)
1516#define CCM_SETWINDOWTHEME 0x200b
1517#define CCM_DPISCALE 0x200c
1518#endif
1519#define ICC_LISTVIEW_CLASSES 1
1520#define ICC_TREEVIEW_CLASSES 2
1521#define ICC_BAR_CLASSES 4
1522#define ICC_TAB_CLASSES 8
1523#define ICC_UPDOWN_CLASS 16
1524#define ICC_PROGRESS_CLASS 32
1525#define ICC_HOTKEY_CLASS 64
1526#define ICC_ANIMATE_CLASS 128
1527#define ICC_WIN95_CLASSES 255
1528#define ICC_DATE_CLASSES 256
1529#define ICC_USEREX_CLASSES 512
1530#define ICC_COOL_CLASSES 1024
1531#if (_WIN32_IE >= 0x0400)
1532#define ICC_INTERNET_CLASSES 2048
1533#define ICC_PAGESCROLLER_CLASS 4096
1534#define ICC_NATIVEFNTCTL_CLASS 8192
1535#define INFOTIPSIZE 1024
1536#endif /* _WIN32_IE */
1537#if (_WIN32_WINNT >= 0x501)
1538#define ICC_STANDARD_CLASSES 0x00004000
1539#define ICC_LINK_CLASS 0x00008000
1540#endif
1541#define GDTR_MIN 1
1542#define GDTR_MAX 2
1543#define GMR_VISIBLE 0
1544#define GMR_DAYSTATE 1
1545#define GDT_ERROR -1
1546#define GDT_VALID 0
1547#define GDT_NONE 1
1548#define DTS_UPDOWN 1
1549#define DTS_SHOWNONE 2
1550#define DTS_SHORTDATEFORMAT 0
1551#define DTS_LONGDATEFORMAT 4
1552#define DTS_TIMEFORMAT 9
1553#define DTS_APPCANPARSE 16
1554#define DTS_RIGHTALIGN 32
1555#if ( _WIN32_IE >= 0x500 )
1556#define DTS_SHORTDATECENTURYFORMAT 0x000C
1557#endif /* _WIN32_IE >= 0x500 */
1558#define MCS_DAYSTATE 1
1559#define MCS_MULTISELECT 2
1560#define MCS_WEEKNUMBERS 4
1561#if (_WIN32_IE >= 0x0400)
1562#define MCS_NOTODAYCIRCLE 0x0008
1563#define MCS_NOTODAY 0x0010
1564#else /* _WIN32_IE >= 0x0400 */
1565#define MCS_NOTODAY 0x0008
1566#endif /* _WIN32_IE >= 0x0400 */
1567#define DTM_GETSYSTEMTIME 0x1001
1568#define DTM_SETSYSTEMTIME 0x1002
1569#define DTM_GETRANGE 0x1003
1570#define DTM_SETRANGE 0x1004
1571#define DTM_SETFORMATA 0x1005
1572#define DTM_SETFORMATW 0x1050
1573#define DTM_SETMCCOLOR 0x1006
1574#define DTM_GETMCCOLOR 0x1007
1575#define DTM_GETMONTHCAL 0x1008
1576#define DTM_SETMCFONT 0x1009
1577#define DTM_GETMCFONT 0x100a
1578#define DTN_USERSTRINGA ((UINT)-758)
1579#define DTN_USERSTRINGW ((UINT)-745)
1580#define DTN_WMKEYDOWNA ((UINT)-757)
1581#define DTN_WMKEYDOWNW ((UINT)-744)
1582#define DTN_FORMATA ((UINT)-756)
1583#define DTN_FORMATW ((UINT)-743)
1584#define DTN_FORMATQUERYA ((UINT)-755)
1585#define DTN_FORMATQUERYW ((UINT)-742)
1586#define DTN_DROPDOWN ((UINT)-754)
1587#define DTN_CLOSEUP ((UINT)-753)
1588#define DTN_DATETIMECHANGE ((UINT)-759)
1589#define MCM_GETCURSEL 0x1001
1590#define MCM_SETCURSEL 0x1002
1591#define MCM_GETMAXSELCOUNT 0x1003
1592#define MCM_SETMAXSELCOUNT 0x1004
1593#define MCM_GETSELRANGE 0x1005
1594#define MCM_SETSELRANGE 0x1006
1595#define MCM_GETMONTHRANGE 0x1007
1596#define MCM_SETDAYSTATE 0x1008
1597#define MCM_GETMINREQRECT 0x1009
1598#define MCM_SETCOLOR 0x100a
1599#define MCM_GETCOLOR 0x100b
1600#define MCM_SETTODAY 0x100c
1601#define MCM_GETTODAY 0x100d
1602#define MCM_HITTEST 0x100e
1603#define MCM_SETFIRSTDAYOFWEEK 0x100f
1604#define MCM_GETFIRSTDAYOFWEEK 0x1010
1605#define MCM_GETRANGE 0x1011
1606#define MCM_SETRANGE 0x1012
1607#define MCM_GETMONTHDELTA 0x1013
1608#define MCM_SETMONTHDELTA 0x1014
1609#define MCM_GETMAXTODAYWIDTH 0x1015
1610#define MCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
1611#define MCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
1612#define MCN_SELCHANGE ((UINT)-749)
1613#define MCN_GETDAYSTATE ((UINT)-747)
1614#define MCN_SELECT ((UINT)-746)
1615#define ODT_HEADER 100
1616#define ODT_TAB 101
1617#define ODT_LISTVIEW 102
1618#define SB_SETBKCOLOR 0x2001
1619#if (_WIN32_IE >= 0x0300)
1620#define SB_ISSIMPLE 1038
1621#define MCSC_BACKGROUND 0
1622#define MCSC_TEXT 1
1623#define MCSC_TITLEBK 2
1624#define MCSC_TITLETEXT 3
1625#define MCSC_MONTHBK 4
1626#define MCSC_TRAILINGTEXT 5
1627#endif
1628#if (_WIN32_IE >= 0x0400)
1629#define MCHT_TITLE 0x10000
1630#define MCHT_CALENDAR 0x20000
1631#define MCHT_TODAYLINK 0x30000
1632#define MCHT_NEXT 0x1000000
1633#define MCHT_PREV 0x2000000
1634#define MCHT_NOWHERE 0x00
1635#define MCHT_TITLEBK (MCHT_TITLE)
1636#define MCHT_TITLEMONTH (MCHT_TITLE | 0x0001)
1637#define MCHT_TITLEYEAR (MCHT_TITLE | 0x0002)
1638#define MCHT_TITLEBTNNEXT (MCHT_TITLE | MCHT_NEXT | 0x0003)
1639#define MCHT_TITLEBTNPREV (MCHT_TITLE | MCHT_PREV | 0x0003)
1640#define MCHT_CALENDARBK (MCHT_CALENDAR)
1641#define MCHT_CALENDARDATE (MCHT_CALENDAR | 0x0001)
1642#define MCHT_CALENDARDATENEXT (MCHT_CALENDARDATE | MCHT_NEXT)
1643#define MCHT_CALENDARDATEPREV (MCHT_CALENDARDATE | MCHT_PREV)
1644#define MCHT_CALENDARDAY (MCHT_CALENDAR | 0x0002)
1645#define MCHT_CALENDARWEEKNUM (MCHT_CALENDAR | 0x0003)
1646#endif /* _WIN32_IE >= 0x0400 */
1647#define RBS_TOOLTIPS 256
1648#define RBS_VARHEIGHT 512
1649#define RBS_BANDBORDERS 1024
1650#define RBS_FIXEDORDER 2048
1651#define RBIM_IMAGELIST 1
1652#define RB_SETCOLORSCHEME CCM_SETCOLORSCHEME
1653#define RB_GETCOLORSCHEME CCM_GETCOLORSCHEME
1654#define RBBS_BREAK 0x0001
1655#define RBBS_FIXEDSIZE 0x0002
1656#define RBBS_CHILDEDGE 0x0004
1657#define RBBS_HIDDEN 0x0008
1658#define RBBS_NOVERT 0x0010
1659#define RBBS_FIXEDBMP 0x0020
1660#define RBBS_VARIABLEHEIGHT 0x0040
1661#define RBBS_GRIPPERALWAYS 0x0080
1662#define RBBS_NOGRIPPER 0x0100
1663#if (_WIN32_IE >= 0x0500)
1664#define RBBS_USECHEVRON 0x0200
1665#if (_WIN32_IE >= 0x0501)
1666#define RBBS_HIDETITLE 0x0400
1667#define RBBS_TOPALIGN 0x0800
1668#endif /* _WIN32_IE >= 0x0501 */
1669#endif /* _WIN32_IE >= 0x0500 */
1670#define RBBIM_STYLE 1
1671#define RBBIM_COLORS 2
1672#define RBBIM_TEXT 4
1673#define RBBIM_IMAGE 8
1674#define RBBIM_CHILD 16
1675#define RBBIM_CHILDSIZE 32
1676#define RBBIM_SIZE 64
1677#define RBBIM_BACKGROUND 128
1678#define RBBIM_ID 256
1679#define RB_INSERTBANDA (WM_USER+1)
1680#define RB_INSERTBANDW (WM_USER+10)
1681#define RB_DELETEBAND (WM_USER+2)
1682#define RB_GETBARINFO (WM_USER+3)
1683#define RB_SETBARINFO (WM_USER+4)
1684#define RB_GETBANDCOUNT (WM_USER+12)
1685#define RB_GETROWCOUNT (WM_USER+13)
1686#define RB_GETROWHEIGHT (WM_USER+14)
1687#define RB_SETBANDINFOA (WM_USER+6)
1688#define RB_SETBANDINFOW (WM_USER+11)
1689#define RB_SETPARENT (WM_USER+7)
1690#define RBN_HEIGHTCHANGE RBN_FIRST
1691#if (_WIN32_IE >= 0x0300)
1692#define LVN_ODCACHEHINT (LVN_FIRST-13)
1693#define LVN_ODFINDITEMA (LVN_FIRST-52)
1694#define LVN_ODFINDITEMW (LVN_FIRST-79)
1695#define LVN_ITEMACTIVATE (LVN_FIRST-14)
1696#define LVN_ODSTATECHANGED (LVN_FIRST-15)
1697#ifdef UNICODE
1698#define LVN_ODFINDITEM LVN_ODFINDITEMW
1699#else
1700#define LVN_ODFINDITEM LVN_ODFINDITEMA
1701#endif
1702#endif /* _WIN32_IE */
1703#if (_WIN32_IE >= 0x0400)
1704#define SB_SETICON 1039
1705#define SB_SETTIPTEXTA 1040
1706#define SB_SETTIPTEXTW 1041
1707#define SB_GETTIPTEXTA 1042
1708#define SB_GETTIPTEXTW 1043
1709#define SB_GETICON 1044
1710#define SB_SETUNICODEFORMAT 0x2005
1711#define SB_GETUNICODEFORMAT 0x2006
1712#define PGF_INVISIBLE 0
1713#define PGF_NORMAL 1
1714#define PGF_GRAYED 2
1715#define PGF_DEPRESSED 4
1716#define PGF_HOT 8
1717#define PGB_TOPORLEFT 0
1718#define PGB_BOTTOMORRIGHT 1
1719#define PGF_SCROLLUP 1
1720#define PGF_SCROLLDOWN 2
1721#define PGF_SCROLLLEFT 4
1722#define PGF_SCROLLRIGHT 8
1723#define PGK_SHIFT 1
1724#define PGK_CONTROL 2
1725#define PGK_MENU 4
1726#define PGF_CALCWIDTH 1
1727#define PGF_CALCHEIGHT 2
1728#define PGM_FIRST 0x1400
1729#define PGM_SETCHILD (PGM_FIRST+1)
1730#define PGM_RECALCSIZE (PGM_FIRST+2)
1731#define PGM_FORWARDMOUSE (PGM_FIRST+3)
1732#define PGM_SETBKCOLOR (PGM_FIRST+4)
1733#define PGM_GETBKCOLOR (PGM_FIRST+5)
1734#define PGM_SETBORDER (PGM_FIRST+6)
1735#define PGM_GETBORDER (PGM_FIRST+7)
1736#define PGM_SETPOS (PGM_FIRST+8)
1737#define PGM_GETPOS (PGM_FIRST+9)
1738#define PGM_SETBUTTONSIZE (PGM_FIRST+10)
1739#define PGM_GETBUTTONSIZE (PGM_FIRST+11)
1740#define PGM_GETBUTTONSTATE (PGM_FIRST+12)
1741#define PGM_GETDROPTARGET CCM_GETDROPTARGET
1742#define RBS_REGISTERDROP 4096
1743#define RBS_AUTOSIZE 8192
1744#define RBS_VERTICALGRIPPER 16384
1745#define RBS_DBLCLKTOGGLE 32768
1746#define RBBIM_IDEALSIZE 512
1747#define RBBIM_LPARAM 1024
1748#define RBBIM_HEADERSIZE 2048
1749#define RB_HITTEST (WM_USER+8)
1750#define RB_GETRECT (WM_USER+9)
1751#define RB_IDTOINDEX (WM_USER+16)
1752#define RB_GETTOOLTIPS (WM_USER+17)
1753#define RB_SETTOOLTIPS (WM_USER+18)
1754#define RB_SETBKCOLOR (WM_USER+19)
1755#define RB_GETBKCOLOR (WM_USER+20)
1756#define RB_SETTEXTCOLOR (WM_USER+21)
1757#define RB_GETTEXTCOLOR (WM_USER+22)
1758#define RB_SIZETORECT (WM_USER+23)
1759#define RB_BEGINDRAG (WM_USER+24)
1760#define RB_ENDDRAG (WM_USER+25)
1761#define RB_DRAGMOVE (WM_USER+26)
1762#define RB_GETBARHEIGHT (WM_USER+27)
1763#define RB_GETBANDINFOW (WM_USER+28)
1764#define RB_GETBANDINFOA (WM_USER+29)
1765#define RB_MINIMIZEBAND (WM_USER+30)
1766#define RB_MAXIMIZEBAND (WM_USER+31)
1767#define RB_GETDROPTARGET CCM_GETDROPTARGET
1768#define RB_GETBANDBORDERS (WM_USER+34)
1769#define RB_SHOWBAND (WM_USER+35)
1770#define RB_SETPALETTE (WM_USER+37)
1771#define RB_GETPALETTE (WM_USER+38)
1772#define RB_MOVEBAND (WM_USER+39)
1773#define RB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
1774#define RB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
1775#define RBN_GETOBJECT (RBN_FIRST-1)
1776#define RBN_LAYOUTCHANGED (RBN_FIRST-2)
1777#define RBN_AUTOSIZE (RBN_FIRST-3)
1778#define RBN_BEGINDRAG (RBN_FIRST-4)
1779#define RBN_ENDDRAG (RBN_FIRST-5)
1780#define RBN_DELETINGBAND (RBN_FIRST-6)
1781#define RBN_DELETEDBAND (RBN_FIRST-7)
1782#define RBN_CHILDSIZE (RBN_FIRST-8)
1783#define RBNM_ID 1
1784#define RBNM_STYLE 2
1785#define RBNM_LPARAM 4
1786#define RBHT_NOWHERE 1
1787#define RBHT_CAPTION 2
1788#define RBHT_CLIENT 3
1789#define RBHT_GRABBER 4
1790#ifdef UNICODE
1791#define SB_SETTIPTEXT SB_SETTIPTEXTW
1792#define SB_GETTIPTEXT SB_GETTIPTEXTW
1793#define RB_GETBANDINFO RB_GETBANDINFOW
1794#else
1795#define SB_SETTIPTEXT SB_SETTIPTEXTA
1796#define SB_GETTIPTEXT SB_GETTIPTEXTA
1797#define RB_GETBANDINFO RB_GETBANDINFOA
1798#endif
1799#else
1800#define RB_GETBANDINFO (WM_USER+5)
1801#endif /* _WIN32_IE >= 0x0400 */
1802#define CBEM_INSERTITEMA (WM_USER + 1)
1803#define CBEM_SETIMAGELIST (WM_USER + 2)
1804#define CBEM_GETIMAGELIST (WM_USER + 3)
1805#define CBEM_GETITEMA (WM_USER + 4)
1806#define CBEM_SETITEMA (WM_USER + 5)
1807#define CBEM_DELETEITEM CB_DELETESTRING
1808#define CBEM_GETCOMBOCONTROL (WM_USER + 6)
1809#define CBEM_GETEDITCONTROL (WM_USER + 7)
1810#define CBEM_SETEXSTYLE (WM_USER + 8)
1811#define CBEM_GETEXSTYLE (WM_USER + 9)
1812#if (_WIN32_IE >= 0x0400)
1813#define CBEM_SETEXTENDEDSTYLE (WM_USER + 14)
1814#define CBEM_GETEXTENDEDSTYLE (WM_USER + 9)
1815#define CBEM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
1816#define CBEM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
1817#endif /* _WIN32_IE >= 0x0400 */
1818#define CBEM_HASEDITCHANGED (WM_USER + 10)
1819#define CBEM_INSERTITEMW (WM_USER + 11)
1820#define CBEM_SETITEMW (WM_USER + 12)
1821#define CBEM_GETITEMW (WM_USER + 13)
1822#define DA_LAST 0x7fffffff
1823#define DPA_APPEND 0x7fffffff
1824#define DPA_ERR -1
1825#define DSA_APPEND 0x7fffffff
1826#define DSA_ERR -1
1827#define DPAS_SORTED 1
1828#define DPAS_INSERTBEFORE 2
1829#define DPAS_INSERTAFTER 4
1830#if (_WIN32_IE >= 0x400)
1831#define WSB_PROP_CYVSCROLL 1
1832#define WSB_PROP_CXHSCROLL 2
1833#define WSB_PROP_CYHSCROLL 4
1834#define WSB_PROP_CXVSCROLL 8
1835#define WSB_PROP_CXHTHUMB 16
1836#define WSB_PROP_CYVTHUMB 32
1837#define WSB_PROP_VBKGCOLOR 64
1838#define WSB_PROP_HBKGCOLOR 128
1839#define WSB_PROP_VSTYLE 256
1840#define WSB_PROP_HSTYLE 512
1841#define WSB_PROP_WINSTYLE 1024
1842#define WSB_PROP_PALETTE 2048
1843#define WSB_PROP_MASK 0xfff
1844#define FSB_FLAT_MODE 2
1845#define FSB_ENCARTA_MODE 1
1846#define FSB_REGULAR_MODE 0
1847#endif /* _WIN32_IE >= 0x400 */
1848#if (_WIN32_WINNT >= 0x0501)
1849#define LIF_ITEMINDEX 0x00000001
1850#define LIF_STATE 0x00000002
1851#define LIF_ITEMID 0x00000004
1852#define LIF_URL 0x00000008
1853#define LIS_FOCUSED 0x00000001
1854#define LIS_ENABLED 0x00000002
1855#define LIS_VISITED 0x00000004
1856#define LM_HITTEST (WM_USER + 768)
1857#define LM_GETIDEALHEIGHT (WM_USER + 769)
1858#define LM_SETITEM (WM_USER + 770)
1859#define LM_GETITEM (WM_USER + 771)
1860#define MAX_LINKID_TEXT 48
1861#define L_MAX_URL_LENGTH 2084
1862#endif
1863
1864typedef struct tagNMTCKEYDOWN {
1865 NMHDR hdr;
1866 WORD wVKey;
1867 UINT flags;
1868} NMTCKEYDOWN;
1869
1870#ifndef RC_INVOKED
1871typedef struct tagCOMBOBOXEXITEMA{
1872 UINT mask;
1873 int iItem;
1874 LPSTR pszText;
1875 int cchTextMax;
1876 int iImage;
1877 int iSelectedImage;
1878 int iOverlay;
1879 int iIndent;
1880 LPARAM lParam;
1881} COMBOBOXEXITEMA, *PCOMBOBOXEXITEMA;
1882typedef COMBOBOXEXITEMA CONST *PCCOMBOEXITEMA;
1883typedef struct tagCOMBOBOXEXITEMW{
1884 UINT mask;
1885 int iItem;
1886 LPWSTR pszText;
1887 int cchTextMax;
1888 int iImage;
1889 int iSelectedImage;
1890 int iOverlay;
1891 int iIndent;
1892 LPARAM lParam;
1893} COMBOBOXEXITEMW, *PCOMBOBOXEXITEMW;
1894typedef COMBOBOXEXITEMW CONST *PCCOMBOEXITEMW;
1895#if (_WIN32_IE >= 0x0400)
1896typedef struct {
1897 NMHDR hdr;
1898 COMBOBOXEXITEMA ceItem;
1899} NMCOMBOBOXEXA, *PNMCOMBOBOXEXA;
1900typedef struct {
1901 NMHDR hdr;
1902 COMBOBOXEXITEMW ceItem;
1903} NMCOMBOBOXEXW, *PNMCOMBOBOXEXW;
1904typedef struct {
1905 NMHDR hdr;
1906 int iItemid;
1907 WCHAR szText[CBEMAXSTRLEN];
1908}NMCBEDRAGBEGINW, *LPNMCBEDRAGBEGINW, *PNMCBEDRAGBEGINW;
1909typedef struct {
1910 NMHDR hdr;
1911 int iItemid;
1912 char szText[CBEMAXSTRLEN];
1913}NMCBEDRAGBEGINA, *LPNMCBEDRAGBEGINA, *PNMCBEDRAGBEGINA;
1914typedef struct tagNMIPADDRESS{
1915 NMHDR hdr;
1916 int iField;
1917 int iValue;
1918} NMIPADDRESS, *LPNMIPADDRESS;
1919typedef struct tagLVKEYDOWN {
1920 NMHDR hdr;
1921 WORD wVKey;
1922 UINT flags;
1923} NMLVKEYDOWN, *LPNMLVKEYDOWN;
1924typedef struct {
1925 NMHDR hdr;
1926 DWORD dwFlag;
1927 int iWidth;
1928 int iHeight;
1929} NMPGCALCSIZE, *LPNMPGCALCSIZE;
1930typedef struct {
1931 NMHDR hdr;
1932 BOOL fwKeys;
1933 RECT rcParent;
1934 int iDir;
1935 int iXpos;
1936 int iYpos;
1937 int iScroll;
1938} NMPGSCROLL, *LPNMPGSCROLL;
1939typedef struct tagNMSELCHANGE {
1940 NMHDR nmhdr;
1941 SYSTEMTIME stSelStart;
1942 SYSTEMTIME stSelEnd;
1943} NMSELCHANGE, *LPNMSELCHANGE;
1944typedef struct tagNMTBHOTITEM {
1945 NMHDR hdr;
1946 int idOld;
1947 int idNew;
1948 DWORD dwFlags;
1949} NMTBHOTITEM, *LPNMTBHOTITEM;
1950typedef struct {
1951 NMHDR hdr;
1952 DWORD dwMask;
1953 int idCommand;
1954 DWORD_PTR lParam;
1955 int iImage;
1956 LPSTR pszText;
1957 int cchText;
1958} NMTBDISPINFOA, *LPNMTBDISPINFOA;
1959typedef struct {
1960 NMHDR hdr;
1961 DWORD dwMask;
1962 int idCommand;
1963 DWORD_PTR lParam;
1964 int iImage;
1965 LPWSTR pszText;
1966 int cchText;
1967} NMTBDISPINFOW, *LPNMTBDISPINFOW;
1968typedef struct tagNMTBGETINFOTIPA
1969{
1970 NMHDR hdr;
1971 LPSTR pszText;
1972 int cchTextMax;
1973 int iItem;
1974 LPARAM lParam;
1975} NMTBGETINFOTIPA, *LPNMTBGETINFOTIPA;
1976typedef struct tagNMTBGETINFOTIPW
1977{
1978 NMHDR hdr;
1979 LPWSTR pszText;
1980 int cchTextMax;
1981 int iItem;
1982 LPARAM lParam;
1983} NMTBGETINFOTIPW, *LPNMTBGETINFOTIPW;
1984typedef struct tagNMMOUSE {
1985 NMHDR hdr;
1986 DWORD_PTR dwItemSpec;
1987 DWORD_PTR dwItemData;
1988 POINT pt;
1989 LPARAM dwHitInfo;
1990} NMMOUSE, *LPNMMOUSE;
1991#endif /*_WIN32_IE >= 0x0400 */
1992#if (_WIN32_IE >= 0x0401)
1993typedef struct tagNMTOOLTIPSCREATED
1994{
1995 NMHDR hdr;
1996 HWND hwndToolTips;
1997} NMTOOLTIPSCREATED, *LPNMTOOLTIPSCREATED;
1998#endif
1999typedef struct tagNMDATETIMECHANGE
2000{
2001 NMHDR nmhdr;
2002 DWORD dwFlags;
2003 SYSTEMTIME st;
2004} NMDATETIMECHANGE, *LPNMDATETIMECHANGE;
2005typedef struct {
2006 NMHDR hdr;
2007 BOOL fChanged;
2008 int iNewSelection;
2009 WCHAR szText[CBEMAXSTRLEN];
2010 int iWhy;
2011} NMCBEENDEDITW, *LPNMCBEENDEDITW, *PNMCBEENDEDITW;
2012typedef struct {
2013 NMHDR hdr;
2014 BOOL fChanged;
2015 int iNewSelection;
2016 char szText[CBEMAXSTRLEN];
2017 int iWhy;
2018} NMCBEENDEDITA, *LPNMCBEENDEDITA,*PNMCBEENDEDITA;
2019typedef struct _COLORMAP {
2020 COLORREF from;
2021 COLORREF to;
2022} COLORMAP,*LPCOLORMAP;
2023typedef struct {
2024 UINT uNotification;
2025 HWND hWnd;
2026 POINT ptCursor;
2027} DRAGLISTINFO,*LPDRAGLISTINFO;
2028typedef struct _TBBUTTON {
2029 int iBitmap;
2030 int idCommand;
2031 BYTE fsState;
2032 BYTE fsStyle;
2033 BYTE bReserved[2];
2034 DWORD dwData;
2035 int iString;
2036} TBBUTTON,*PTBBUTTON,*LPTBBUTTON;
2037typedef const TBBUTTON *LPCTBBUTTON;
2038#if _WIN32_IE >= 0x400
2039typedef struct {
2040 UINT cbSize;
2041 DWORD dwMask;
2042 int idCommand;
2043 int iImage;
2044 BYTE fsState;
2045 BYTE fsStyle;
2046 WORD cx;
2047 DWORD lParam;
2048 LPSTR pszText;
2049 int cchText;
2050} TBBUTTONINFOA, *LPTBBUTTONINFOA;
2051typedef struct {
2052 UINT cbSize;
2053 DWORD dwMask;
2054 int idCommand;
2055 int iImage;
2056 BYTE fsState;
2057 BYTE fsStyle;
2058 WORD cx;
2059 DWORD lParam;
2060 LPWSTR pszText;
2061 int cchText;
2062} TBBUTTONINFOW, *LPTBBUTTONINFOW;
2063typedef struct {
2064 int iButton;
2065 DWORD dwFlags;
2066} TBINSERTMARK, *LPTBINSERTMARK;
2067typedef struct tagLVBKIMAGEA {
2068 ULONG ulFlags;
2069 HBITMAP hbm;
2070 LPSTR pszImage;
2071 UINT cchImageMax;
2072 int xOffsetPercent;
2073 int yOffsetPercent;
2074} LVBKIMAGEA, *LPLVBKIMAGEA;
2075typedef struct tagLVBKIMAGEW {
2076 ULONG ulFlags;
2077 HBITMAP hbm;
2078 LPWSTR pszImage;
2079 UINT cchImageMax;
2080 int xOffsetPercent;
2081 int yOffsetPercent;
2082} LVBKIMAGEW, *LPLVBKIMAGEW;
2083#endif /* _WIN32_IE >= 0x400 */
2084typedef struct {
2085 NMHDR hdr;
2086 int iItem;
2087 TBBUTTON tbButton;
2088 int cchText;
2089 LPTSTR pszText;
2090} TBNOTIFY,*LPTBNOTIFY;
2091typedef struct {
2092 HKEY hkr;
2093 LPCTSTR pszSubKey;
2094 LPCTSTR pszValueName;
2095} TBSAVEPARAMS;
2096typedef struct _IMAGEINFO {
2097 HBITMAP hbmImage;
2098 HBITMAP hbmMask;
2099 int Unused1;
2100 int Unused2;
2101 RECT rcImage;
2102} IMAGEINFO, *LPIMAGEINFO;
2103typedef struct _IMAGELIST *HIMAGELIST;
2104typedef struct _HDITEMA {
2105 UINT mask;
2106 int cxy;
2107 LPSTR pszText;
2108 HBITMAP hbm;
2109 int cchTextMax;
2110 int fmt;
2111 LPARAM lParam;
2112#if (_WIN32_IE >= 0x0300)
2113 int iImage;
2114 int iOrder;
2115#endif
2116#if (_WIN32_IE >= 0x0500)
2117 UINT type;
2118 LPVOID pvFilter;
2119#endif
2120} HDITEMA, * LPHDITEMA;
2121typedef struct _HDITEMW {
2122 UINT mask;
2123 int cxy;
2124 LPWSTR pszText;
2125 HBITMAP hbm;
2126 int cchTextMax;
2127 int fmt;
2128 LPARAM lParam;
2129#if (_WIN32_IE >= 0x0300)
2130 int iImage;
2131 int iOrder;
2132#endif
2133#if (_WIN32_IE >= 0x0500)
2134 UINT type;
2135 LPVOID pvFilter;
2136#endif
2137} HDITEMW, * LPHDITEMW;
2138/* for backward compatibility */
2139#define HD_ITEMA HDITEMA
2140#define HD_ITEMW HDITEMW
2141#define HD_ITEM HDITEM
2142typedef struct _HD_LAYOUT {
2143 RECT *prc;
2144 WINDOWPOS *pwpos;
2145} HDLAYOUT, *LPHDLAYOUT;
2146#define HD_LAYOUT HDLAYOUT /* backward compatibility */
2147typedef struct _HD_HITTESTINFO {
2148 POINT pt;
2149 UINT flags;
2150 int iItem;
2151} HD_HITTESTINFO, *LPHDHITTESTINFO;
2152typedef struct _HD_NOTIFYA {
2153 NMHDR hdr;
2154 int iItem;
2155 int iButton;
2156 HD_ITEMA *pitem;
2157} HD_NOTIFYA;
2158typedef struct _HD_NOTIFYW {
2159 NMHDR hdr;
2160 int iItem;
2161 int iButton;
2162 HD_ITEMW *pitem;
2163} HD_NOTIFYW;
2164/* FIXME: NMHEADER structure (base for all events of the comctl controls)
2165 is the same as HD_NOTIFY depending on the value of _WIN32_IE macro.
2166 I'm defining both for now. */
2167typedef struct _NMHEADERA {
2168 NMHDR hdr;
2169 int iItem;
2170 int iButton;
2171 HD_ITEMA* pitem;
2172} NMHEADERA, *LPNMHEADERA;
2173
2174typedef struct _NMHEADERW {
2175 NMHDR hdr;
2176 int iItem;
2177 int iButton;
2178 HD_ITEMW* pitem;
2179} NMHEADERW, *LPNMHEADERW;
2180#ifdef UNICODE
2181#define NMHEADER NMHEADERW
2182#define LPNMHEADER LPNMHEADERW
2183#else
2184#define NMHEADER NMHEADERA
2185#define LPNMHEADER LPNMHEADERA
2186#endif
2187/* End FIXME. */
2188typedef struct tagNMHDDISPINFOA {
2189 NMHDR hdr;
2190 int iItem;
2191 UINT mask;
2192 LPSTR pszText;
2193 int cchTextMax;
2194 int iImage;
2195 LPARAM lParam;
2196} NMHDDISPINFOA, *LPNMHDDISPINFOA;
2197typedef struct tagNMHDDISPINFOW {
2198 NMHDR hdr;
2199 int iItem;
2200 UINT mask;
2201 LPWSTR pszText;
2202 int cchTextMax;
2203 int iImage;
2204 LPARAM lParam;
2205} NMHDDISPINFOW, *LPNMHDDISPINFOW;
2206typedef struct tagNMCUSTOMDRAWINFO {
2207 NMHDR hdr;
2208 DWORD dwDrawStage;
2209 HDC hdc;
2210 RECT rc;
2211 DWORD dwItemSpec;
2212 UINT uItemState;
2213 LPARAM lItemlParam;
2214} NMCUSTOMDRAW, *LPNMCUSTOMDRAW;
2215typedef struct tagNMLVCUSTOMDRAW {
2216 NMCUSTOMDRAW nmcd;
2217 COLORREF clrText;
2218 COLORREF clrTextBk;
2219#if _WIN32_IE >= 0x0400
2220 int iSubItem;
2221#endif
2222} NMLVCUSTOMDRAW, *LPNMLVCUSTOMDRAW;
2223#if (_WIN32_IE >= 0x0400)
2224typedef struct tagNMLVGETINFOTIPA
2225{
2226 NMHDR hdr;
2227 DWORD dwFlags;
2228 LPSTR pszText;
2229 int cchTextMax;
2230 int iItem;
2231 int iSubItem;
2232 LPARAM lParam;
2233} NMLVGETINFOTIPA, *LPNMLVGETINFOTIPA;
2234typedef struct tagNMLVGETINFOTIPW
2235{
2236 NMHDR hdr;
2237 DWORD dwFlags;
2238 LPWSTR pszText;
2239 int cchTextMax;
2240 int iItem;
2241 int iSubItem;
2242 LPARAM lParam;
2243} NMLVGETINFOTIPW, *LPNMLVGETINFOTIPW;
2244#endif /* _WIN32_IE >= 0x0400 */
2245typedef struct tagNMTVCUSTOMDRAW {
2246 NMCUSTOMDRAW nmcd;
2247 COLORREF clrText;
2248 COLORREF clrTextBk;
2249#if _WIN32_IE >= 0x0400
2250 int iLevel;
2251#endif
2252} NMTVCUSTOMDRAW, *LPNMTVCUSTOMDRAW;
2253#if (_WIN32_IE >= 0x400)
2254typedef struct _NMTBCUSTOMDRAW {
2255 NMCUSTOMDRAW nmcd;
2256 HBRUSH hbrMonoDither;
2257 HBRUSH hbrLines;
2258 HPEN hpenLines;
2259 COLORREF clrText;
2260 COLORREF clrMark;
2261 COLORREF clrTextHighlight;
2262 COLORREF clrBtnFace;
2263 COLORREF clrBtnHighlight;
2264 COLORREF clrHighlightHotTrack;
2265 RECT rcText;
2266 int nStringBkMode;
2267 int nHLStringBkMode;
2268#if (_WIN32_WINNT >= 0x0501)
2269 int iListGap;
2270#endif
2271} NMTBCUSTOMDRAW, * LPNMTBCUSTOMDRAW;
2272typedef struct tagNMITEMACTIVATE {
2273 NMHDR hdr;
2274 int iItem;
2275 int iSubItem;
2276 UINT uNewState;
2277 UINT uOldState;
2278 UINT uChanged;
2279 POINT ptAction;
2280 LPARAM lParam;
2281 UINT uKeyFlags;
2282} NMITEMACTIVATE, *LPNMITEMACTIVATE;
2283#endif /* _WIN32_IE >= 0x0400 */
2284typedef struct tagTBADDBITMAP {
2285 HINSTANCE hInst;
2286 UINT nID;
2287} TBADDBITMAP,*LPTBADDBITMAP;
2288typedef struct tagTBSAVEPARAMSA {
2289 HKEY hkr;
2290 LPCSTR pszSubKey;
2291 LPCSTR pszValueName;
2292} TBSAVEPARAMSA;
2293typedef struct tagTBSAVEPARAMSW {
2294 HKEY hkr;
2295 LPCWSTR pszSubKey;
2296 LPCWSTR pszValueName;
2297} TBSAVEPARAMSW;
2298typedef struct {
2299 HINSTANCE hInstOld;
2300 UINT nIDOld;
2301 HINSTANCE hInstNew;
2302 UINT nIDNew;
2303 int nButtons;
2304} TBREPLACEBITMAP,*LPTBREPLACEBITMAP;
2305typedef struct tagNMTOOLBARA {
2306 NMHDR hdr;
2307 int iItem;
2308 TBBUTTON tbButton;
2309 int cchText;
2310 LPSTR pszText;
2311#if (_WIN32_IE >= 0x500)
2312 RECT rcButton;
2313#endif
2314} NMTOOLBARA, *LPNMTOOLBARA;
2315#define TBNOTIFYA NMTOOLBARA
2316#define LPTBNOTIFYA LPNMTOOLBARA
2317typedef struct tagNMTOOLBARW {
2318 NMHDR hdr;
2319 int iItem;
2320 TBBUTTON tbButton;
2321 int cchText;
2322 LPWSTR pszText;
2323#if (_WIN32_IE >= 0x500)
2324 RECT rcButton;
2325#endif
2326} NMTOOLBARW, *LPNMTOOLBARW;
2327#define TBNOTIFYW NMTOOLBARW
2328#define LPTBNOTIFYW LPNMTOOLBARW
2329typedef struct tagTOOLINFOA {
2330 UINT cbSize;
2331 UINT uFlags;
2332 HWND hwnd;
2333 UINT uId;
2334 RECT rect;
2335 HINSTANCE hinst;
2336 LPSTR lpszText;
2337#if (_WIN32_IE >= 0x0300)
2338 LPARAM lParam;
2339#endif
2340} TTTOOLINFOA,*LPTTTOOLINFOA,*PTOOLINFOA;
2341#define TOOLINFOA TTTOOLINFOA
2342#define LPTOOLINFOA LPTTTOOLINFOA
2343#define TTTOOLINFOA_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpszText)
2344#define TTTOOLINFOA_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lParam)
2345#define TTTOOLINFOA_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpReserved)
2346typedef struct tagTOOLINFOW {
2347 UINT cbSize;
2348 UINT uFlags;
2349 HWND hwnd;
2350 UINT uId;
2351 RECT rect;
2352 HINSTANCE hinst;
2353 LPWSTR lpszText;
2354#if (_WIN32_IE >= 0x0300)
2355 LPARAM lParam;
2356#endif
2357} TTTOOLINFOW,*LPTTTOOLINFOW,*PTOOLINFOW;
2358#define TOOLINFOW TTTOOLINFOW
2359#define LPTOOLINFOW LPTTTOOLINFOW
2360#define TTTOOLINFOW_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpszText)
2361#define TTTOOLINFOW_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lParam)
2362#define TTTOOLINFOW_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpReserved)
2363typedef struct _TT_HITTESTINFOA {
2364 HWND hwnd;
2365 POINT pt;
2366 TOOLINFOA ti;
2367} TTHITTESTINFOA,*LPTTHITTESTINFOA;
2368#define LPHITTESTINFOA LPTTHITTESTINFOA
2369typedef struct _TT_HITTESTINFOW {
2370 HWND hwnd;
2371 POINT pt;
2372 TOOLINFOW ti;
2373} TTHITTESTINFOW,*LPTTHITTESTINFOW;
2374#define LPHITTESTINFOW LPTTHITTESTINFOW
2375typedef struct tagNMTTDISPINFOA {
2376 NMHDR hdr;
2377 LPSTR lpszText;
2378 char szText[80];
2379 HINSTANCE hinst;
2380 UINT uFlags;
2381#if (_WIN32_IE >= 0x0300)
2382 LPARAM lParam;
2383#endif
2384} NMTTDISPINFOA, *LPNMTTDISPINFOA;
2385#define TOOLTIPTEXTA NMTTDISPINFOA
2386#define LPTOOLTIPTEXTA LPNMTTDISPINFOA
2387typedef struct tagNMTTDISPINFOW {
2388 NMHDR hdr;
2389 LPWSTR lpszText;
2390 WCHAR szText[80];
2391 HINSTANCE hinst;
2392 UINT uFlags;
2393#if (_WIN32_IE >= 0x0300)
2394 LPARAM lParam;
2395#endif
2396} NMTTDISPINFOW, *LPNMTTDISPINFOW;
2397#define TOOLTIPTEXTW NMTTDISPINFOW
2398#define LPTOOLTIPTEXTW LPNMTTDISPINFOW
2399typedef struct _UDACCEL {
2400 UINT nSec;
2401 UINT nInc;
2402} UDACCEL,*LPUDACCEL;
2403typedef struct _NM_UPDOWN {
2404 NMHDR hdr;
2405 int iPos;
2406 int iDelta;
2407} NMUPDOWN,*LPNMUPDOWN;
2408/* for backward compatibility */
2409#define NM_UPDOWN NMUPDOWN
2410#define LPNM_UPDOWN LPNMUPDOWN
2411typedef struct _LVITEMA {
2412 UINT mask;
2413 int iItem;
2414 int iSubItem;
2415 UINT state;
2416 UINT stateMask;
2417 LPSTR pszText;
2418 int cchTextMax;
2419 int iImage;
2420 LPARAM lParam;
2421#if (_WIN32_IE >= 0x0300)
2422 int iIndent;
2423#endif
2424#if (_WIN32_WINNT >= 0x0501)
2425 int iGroupId;
2426 UINT cColumns;
2427 PUINT puColumns;
2428#endif
2429} LVITEMA, FAR *LPLVITEMA;
2430#define _LV_ITEMA _LVITEMA
2431#define LV_ITEMA LVITEMA
2432typedef struct _LVITEMW {
2433 UINT mask;
2434 int iItem;
2435 int iSubItem;
2436 UINT state;
2437 UINT stateMask;
2438 LPWSTR pszText;
2439 int cchTextMax;
2440 int iImage;
2441 LPARAM lParam;
2442#if (_WIN32_IE >= 0x0300)
2443 int iIndent;
2444#endif
2445#if (_WIN32_WINNT >= 0x0501)
2446 int iGroupId;
2447 UINT cColumns;
2448 PUINT puColumns;
2449#endif
2450} LVITEMW, FAR *LPLVITEMW;
2451#define _LV_ITEMW _LVITEMW
2452#define LV_ITEMW LVITEMW
2453typedef struct tagLVFINDINFOA {
2454 UINT flags;
2455 LPCSTR psz;
2456 LPARAM lParam;
2457 POINT pt;
2458 UINT vkDirection;
2459} LVFINDINFOA, FAR* LPFINDINFOA;
2460#define _LV_FINDINFOA tagLVFINDINFOA
2461#define LV_FINDINFOA LVFINDINFOA
2462typedef struct tagLVFINDINFOW {
2463 UINT flags;
2464 LPCWSTR psz;
2465 LPARAM lParam;
2466 POINT pt;
2467 UINT vkDirection;
2468} LVFINDINFOW, FAR* LPFINDINFOW;
2469#define _LV_FINDINFOW tagLVFINDINFOW
2470#define LV_FINDINFOW LVFINDINFOW
2471typedef struct tagNMLVFINDITEMA {
2472 NMHDR hdr;
2473 int iStart;
2474 LVFINDINFOA lvfi;
2475} NMLVFINDITEMA, *PNMLVFINDITEMA, FAR *LPNMLVFINDITEMA;
2476#define _NMLVFINDITEMA tagNMLVFINDITEMA
2477typedef struct tagNMLVFINDITEMW {
2478 NMHDR hdr;
2479 int iStart;
2480 LVFINDINFOW lvfi;
2481} NMLVFINDITEMW, *PNMLVFINDITEMW, FAR *LPNMLVFINDITEMW;
2482#define _NMLVFINDITEMW tagNMLVFINDITEMW
2483typedef struct _LVHITTESTINFO {
2484 POINT pt;
2485 UINT flags;
2486 int iItem;
2487#if (_WIN32_IE >= 0x0300)
2488 int iSubItem;
2489#endif
2490} LVHITTESTINFO, FAR *LPLVHITTESTINFO;
2491#define _LV_HITTESTINFO _LVHITTESTINFO
2492#define LV_HITTESTINFO LVHITTESTINFO
2493typedef struct _LVCOLUMNA {
2494 UINT mask;
2495 int fmt;
2496 int cx;
2497 LPSTR pszText;
2498 int cchTextMax;
2499 int iSubItem;
2500#if (_WIN32_IE >= 0x0300)
2501 int iImage;
2502 int iOrder;
2503#endif
2504} LVCOLUMNA, FAR *LPLVCOLUMNA;
2505#define _LV_COLUMNA _LVCOLUMNA
2506#define LV_COLUMNA LVCOLUMNA
2507typedef struct _LVCOLUMNW {
2508 UINT mask;
2509 int fmt;
2510 int cx;
2511 LPWSTR pszText;
2512 int cchTextMax;
2513 int iSubItem;
2514#if (_WIN32_IE >= 0x0300)
2515 int iImage;
2516 int iOrder;
2517#endif
2518} LVCOLUMNW, FAR *LPLVCOLUMNW;
2519#define _LV_COLUMNW _LVCOLUMNW
2520#define LV_COLUMNW LVCOLUMNW
2521typedef int(CALLBACK *PFNLVCOMPARE)(LPARAM,LPARAM,LPARAM);
2522typedef struct tagNMLISTVIEW {
2523 NMHDR hdr;
2524 int iItem;
2525 int iSubItem;
2526 UINT uNewState;
2527 UINT uOldState;
2528 UINT uChanged;
2529 POINT ptAction;
2530 LPARAM lParam;
2531} NMLISTVIEW, *LPNMLISTVIEW;
2532/* for backward compatibility */
2533#define _NM_LISTVIEW tagNMLISTVIEW
2534#define NM_LISTVIEW NMLISTVIEW
2535#define LPNM_LISTVIEW LPNMLISTVIEW
2536typedef struct tagNMLVDISPINFOA {
2537 NMHDR hdr;
2538 LV_ITEMA item;
2539} NMLVDISPINFOA, FAR *LPNMLVDISPINFOA;
2540#define _LV_DISPINFOA tagNMLVDISPINFOA
2541#define LV_DISPINFOA NMLVDISPINFOA
2542typedef struct tagNMLVDISPINFOW {
2543 NMHDR hdr;
2544 LV_ITEMW item;
2545} NMLVDISPINFOW, FAR *LPNMLVDISPINFOW;
2546#define _LV_DISPINFOW tagNMLVDISPINFOW
2547#define LV_DISPINFOW NMLVDISPINFOW
2548typedef struct _LV_KEYDOWN {
2549 NMHDR hdr;
2550 WORD wVKey;
2551 UINT flags;
2552} LV_KEYDOWN;
2553typedef struct tagNMLVCACHEHINT {
2554 NMHDR hdr;
2555 int iFrom;
2556 int iTo;
2557} NMLVCACHEHINT, *LPNMLVCACHEHINT;
2558#define NM_CACHEHINT NMLVCACHEHINT
2559#define PNM_CACHEHINT LPNMLVCACHEHINT
2560#define LPNM_CACHEHINT LPNMLVCACHEHINT
2561
2562typedef struct _TREEITEM *HTREEITEM;
2563typedef struct tagTVITEMA {
2564 UINT mask;
2565 HTREEITEM hItem;
2566 UINT state;
2567 UINT stateMask;
2568 LPSTR pszText;
2569 int cchTextMax;
2570 int iImage;
2571 int iSelectedImage;
2572 int cChildren;
2573 LPARAM lParam;
2574} TVITEMA,*LPTVITEMA;
2575#define _TV_ITEMA tagTVITEMA
2576#define TV_ITEMA TVITEMA
2577#define LPTV_ITEMA LPTVITEMA
2578typedef struct tagTVITEMW {
2579 UINT mask;
2580 HTREEITEM hItem;
2581 UINT state;
2582 UINT stateMask;
2583 LPWSTR pszText;
2584 int cchTextMax;
2585 int iImage;
2586 int iSelectedImage;
2587 int cChildren;
2588 LPARAM lParam;
2589} TVITEMW,*LPTVITEMW;
2590#define _TV_ITEMW tagTVITEMW
2591#define TV_ITEMW TVITEMW
2592#define LPTV_ITEMW LPTVITEMW
2593#if (_WIN32_IE >= 0x0400)
2594typedef struct tagTVITEMEXA {
2595 UINT mask;
2596 HTREEITEM hItem;
2597 UINT state;
2598 UINT stateMask;
2599 LPSTR pszText;
2600 int cchTextMax;
2601 int iImage;
2602 int iSelectedImage;
2603 int cChildren;
2604 LPARAM lParam;
2605 int iIntegral;
2606} TVITEMEXA, *LPTVITEMEXA;
2607typedef struct tagTVITEMEXW {
2608 UINT mask;
2609 HTREEITEM hItem;
2610 UINT state;
2611 UINT stateMask;
2612 LPWSTR pszText;
2613 int cchTextMax;
2614 int iImage;
2615 int iSelectedImage;
2616 int cChildren;
2617 LPARAM lParam;
2618 int iIntegral;
2619} TVITEMEXW, *LPTVITEMEXW;
2620#endif /* _WIN32_IE >= 0x0400 */
2621typedef struct tagTVINSERTSTRUCTA {
2622 HTREEITEM hParent;
2623 HTREEITEM hInsertAfter;
2624#if (_WIN32_IE >= 0x0400)
2625 _ANONYMOUS_UNION union {
2626 TVITEMEXA itemex;
2627 TV_ITEMA item;
2628 } DUMMYUNIONNAME;
2629#else
2630 TV_ITEMA item;
2631#endif
2632} TVINSERTSTRUCTA,*LPTVINSERTSTRUCTA;
2633#define _TV_INSERTSTRUCTA tagTVINSERTSTRUCTA
2634#define TV_INSERTSTRUCTA TVINSERTSTRUCTA
2635#define LPTV_INSERTSTRUCTA LPTVINSERTSTRUCTA
2636typedef struct tagTVINSERTSTRUCTW {
2637 HTREEITEM hParent;
2638 HTREEITEM hInsertAfter;
2639#if (_WIN32_IE >= 0x0400)
2640 _ANONYMOUS_UNION union {
2641 TVITEMEXW itemex;
2642 TV_ITEMW item;
2643 } DUMMYUNIONNAME;
2644#else
2645 TV_ITEMW item;
2646#endif
2647} TVINSERTSTRUCTW,*LPTVINSERTSTRUCTW;
2648#define _TV_INSERTSTRUCTW tagTVINSERTSTRUCTW
2649#define TV_INSERTSTRUCTW TVINSERTSTRUCTW
2650#define LPTV_INSERTSTRUCTW LPTVINSERTSTRUCTW
2651typedef struct tagTVHITTESTINFO {
2652 POINT pt;
2653 UINT flags;
2654 HTREEITEM hItem;
2655} TVHITTESTINFO, *LPTVHITTESTINFO;
2656#define _TV_HITTESTINFO tagTVHITTESTINFO
2657#define TV_HITTESTINFO TVHITTESTINFO
2658#define LPTV_HITTESTINFO LPTVHITTESTINFO
2659typedef int(CALLBACK *PFNTVCOMPARE)(LPARAM,LPARAM,LPARAM);
2660typedef struct tagTVSORTCB {
2661 HTREEITEM hParent;
2662 PFNTVCOMPARE lpfnCompare;
2663 LPARAM lParam;
2664} TVSORTCB,*LPTVSORTCB;
2665#define _TV_SORTCB tagTVSORTCB
2666#define TV_SORTCB TVSORTCB
2667#define LPTV_SORTCB LPTVSORTCB
2668typedef struct tagNMTREEVIEWA {
2669 NMHDR hdr;
2670 UINT action;
2671 TV_ITEMA itemOld;
2672 TV_ITEMA itemNew;
2673 POINT ptDrag;
2674} NMTREEVIEWA,*LPNMTREEVIEWA;
2675#define _NM_TREEVIEWA tagNMTREEVIEWA
2676#define NM_TREEVIEWA NMTREEVIEWA
2677#define LPNM_TREEVIEWA LPNMTREEVIEWA
2678typedef struct tagNMTREEVIEWW {
2679 NMHDR hdr;
2680 UINT action;
2681 TV_ITEMW itemOld;
2682 TV_ITEMW itemNew;
2683 POINT ptDrag;
2684} NMTREEVIEWW,*LPNMTREEVIEWW;
2685#define _NM_TREEVIEWW tagNMTREEVIEWW
2686#define NM_TREEVIEWW NMTREEVIEWW
2687#define LPNM_TREEVIEWW LPNMTREEVIEWW
2688typedef struct tagNMTVDISPINFOA {
2689 NMHDR hdr;
2690 TVITEMA item;
2691} NMTVDISPINFOA, *LPNMTVDISPINFOA;
2692#define _TV_DISPINFOA tagNMTVDISPINFOA
2693#define TV_DISPINFOA NMTVDISPINFOA
2694typedef struct tagNMTVDISPINFOW {
2695 NMHDR hdr;
2696 TVITEMW item;
2697} NMTVDISPINFOW, *LPNMTVDISPINFOW;
2698#define _TV_DISPINFOW tagNMTVDISPINFOW
2699#define TV_DISPINFOW NMTVDISPINFOW
2700#if (_WIN32_IE >= 0x0400)
2701typedef struct tagNMTVGETINFOTIPA {
2702 NMHDR hdr;
2703 LPSTR pszText;
2704 int cchTextMax;
2705 HTREEITEM hItem;
2706 LPARAM lParam;
2707} NMTVGETINFOTIPA, *LPNMTVGETINFOTIPA;
2708typedef struct tagNMTVGETINFOTIPW {
2709 NMHDR hdr;
2710 LPWSTR pszText;
2711 int cchTextMax;
2712 HTREEITEM hItem;
2713 LPARAM lParam;
2714} NMTVGETINFOTIPW, *LPNMTVGETINFOTIPW;
2715#endif
2716typedef struct _TV_KEYDOWN {
2717 NMHDR hdr;
2718 WORD wVKey;
2719 UINT flags;
2720} TV_KEYDOWN;
2721typedef struct tagTCITEMHEADERA {
2722 UINT mask;
2723 UINT lpReserved1;
2724 UINT lpReserved2;
2725 LPSTR pszText;
2726 int cchTextMax;
2727 int iImage;
2728} TCITEMHEADERA, *LPTCITEMHEADERA;
2729#define TC_ITEMHEADERA TCITEMHEADERA
2730typedef struct tagTCITEMHEADERW {
2731 UINT mask;
2732 UINT lpReserved1;
2733 UINT lpReserved2;
2734 LPWSTR pszText;
2735 int cchTextMax;
2736 int iImage;
2737} TCITEMHEADERW, *LPTCITEMHEADERW;
2738#define TC_ITEMHEADERW TCITEMHEADERW
2739typedef struct tagTCITEMA {
2740 UINT mask;
2741#if (_WIN32_IE >= 0x0300)
2742 DWORD dwState;
2743 DWORD dwStateMask;
2744#else
2745 UINT lpReserved1;
2746 UINT lpReserved2;
2747#endif
2748 LPSTR pszText;
2749 int cchTextMax;
2750 int iImage;
2751 LPARAM lParam;
2752} TCITEMA, *LPTCITEMA;
2753#define TC_ITEMA TCITEMA
2754typedef struct tagTCITEMW {
2755 UINT mask;
2756#if (_WIN32_IE >= 0x0300)
2757 DWORD dwState;
2758 DWORD dwStateMask;
2759#else
2760 UINT lpReserved1;
2761 UINT lpReserved2;
2762#endif
2763 LPWSTR pszText;
2764 int cchTextMax;
2765 int iImage;
2766 LPARAM lParam;
2767} TCITEMW, *LPTCITEMW;
2768#define TC_ITEMW TCITEMW
2769typedef struct tagTCHITTESTINFO {
2770 POINT pt;
2771 UINT flags;
2772} TCHITTESTINFO, *LPTCHITTESTINFO;
2773#define TC_HITTESTINFO TCHITTESTINFO
2774#define LPTC_HITTESTINFO LPTCHITTESTINFO
2775typedef struct _TC_KEYDOWN {
2776 NMHDR hdr;
2777 WORD wVKey;
2778 UINT flags;
2779} TC_KEYDOWN;
2780#if (_WIN32_IE >= 0x0300)
2781typedef struct tagINITCOMMONCONTROLSEX {
2782 DWORD dwSize;
2783 DWORD dwICC;
2784} INITCOMMONCONTROLSEX,*LPINITCOMMONCONTROLSEX;
2785#endif
2786typedef struct tagPBRANGE {
2787 int iLow;
2788 int iHigh;
2789} PBRANGE,*PPBRANGE;
2790typedef struct tagCOLORSCHEME {
2791 DWORD dwSize;
2792 COLORREF clrBtnHighlight;
2793 COLORREF clrBtnShadow;
2794} COLORSCHEME,*LPCOLORSCHEME;
2795typedef struct tagMCHITTESTINFO {
2796 UINT cbSize;
2797 POINT pt;
2798 UINT uHit;
2799 SYSTEMTIME st;
2800}MCHITTESTINFO, *PMCHITTESTINFO;
2801typedef DWORD MONTHDAYSTATE;
2802typedef MONTHDAYSTATE *LPMONTHDAYSTATE;
2803typedef struct tagNMDAYSTATE {
2804 NMHDR nmhdr;
2805 SYSTEMTIME stStart;
2806 int cDayState;
2807 LPMONTHDAYSTATE prgDayState;
2808}NMDAYSTATE,*LPNMDAYSTATE;
2809typedef struct tagREBARINFO {
2810 UINT cbSize;
2811 UINT fMask;
2812 HIMAGELIST himl;
2813} REBARINFO,*LPREBARINFO;
2814typedef struct tagREBARBANDINFOA {
2815 UINT cbSize;
2816 UINT fMask;
2817 UINT fStyle;
2818 COLORREF clrFore;
2819 COLORREF clrBack;
2820 LPSTR lpText;
2821 UINT cch;
2822 int iImage;
2823 HWND hwndChild;
2824 UINT cxMinChild;
2825 UINT cyMinChild;
2826 UINT cx;
2827 HBITMAP hbmBack;
2828 UINT wID;
2829#if (_WIN32_IE >= 0x0400)
2830 UINT cyChild;
2831 UINT cyMaxChild;
2832 UINT cyIntegral;
2833 UINT cxIdeal;
2834 LPARAM lParam;
2835 UINT cxHeader;
2836#endif
2837} REBARBANDINFOA,*LPREBARBANDINFOA;
2838typedef struct tagREBARBANDINFOW {
2839 UINT cbSize;
2840 UINT fMask;
2841 UINT fStyle;
2842 COLORREF clrFore;
2843 COLORREF clrBack;
2844 LPWSTR lpText;
2845 UINT cch;
2846 int iImage;
2847 HWND hwndChild;
2848 UINT cxMinChild;
2849 UINT cyMinChild;
2850 UINT cx;
2851 HBITMAP hbmBack;
2852 UINT wID;
2853#if (_WIN32_IE >= 0x0400)
2854 UINT cyChild;
2855 UINT cyMaxChild;
2856 UINT cyIntegral;
2857 UINT cxIdeal;
2858 LPARAM lParam;
2859 UINT cxHeader;
2860#endif
2861} REBARBANDINFOW,*LPREBARBANDINFOW;
2862typedef REBARBANDINFOA const *LPCREBARBANDINFOA;
2863typedef REBARBANDINFOW const *LPCREBARBANDINFOW;
2864#define REBARBANDINFOA_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOA,wID)
2865#define REBARBANDINFOW_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOW, wID)
2866#if (_WIN32_IE >= 0x0300)
2867typedef struct tagNMLVODSTATECHANGE {
2868 NMHDR hdr;
2869 int iFrom;
2870 int iTo;
2871 UINT uNewState;
2872 UINT uOldState;
2873} NMLVODSTATECHANGE, *LPNMLVODSTATECHANGE;
2874typedef struct tagIMAGELISTDRAWPARAMS {
2875 DWORD cbSize;
2876 HIMAGELIST himl;
2877 int i;
2878 HDC hdcDst;
2879 int x;
2880 int y;
2881 int cx;
2882 int cy;
2883 int xBitmap;
2884 int yBitmap;
2885 COLORREF rgbBk;
2886 COLORREF rgbFg;
2887 UINT fStyle;
2888 DWORD dwRop;
2889#if (_WIN32_WINNT >= 0x0501)
2890 DWORD fState;
2891 DWORD Frame;
2892 COLORREF crEffect;
2893#endif
2894} IMAGELISTDRAWPARAMS,*LPIMAGELISTDRAWPARAMS;
2895#endif /* (_WIN32_IE >= 0x0300) */
2896#if (_WIN32_IE >= 0x0400)
2897typedef struct tagNMREBARCHILDSIZE {
2898 NMHDR hdr;
2899 UINT uBand;
2900 UINT wID;
2901 RECT rcChild;
2902 RECT rcBand;
2903} NMREBARCHILDSIZE,*LPNMREBARCHILDSIZE;
2904typedef struct tagNMREBAR {
2905 NMHDR hdr;
2906 DWORD dwMask;
2907 UINT uBand;
2908 UINT fStyle;
2909 UINT wID;
2910 LPARAM lParam;
2911} NMREBAR,*LPNMREBAR;
2912typedef struct tagNMRBAUTOSIZE {
2913 NMHDR hdr;
2914 BOOL fChanged;
2915 RECT rcTarget;
2916 RECT rcActual;
2917} NMRBAUTOSIZE,*LPNMRBAUTOSIZE;
2918#if (_WIN32_IE >= 0x0500)
2919typedef struct tagNMREBARCHEVRON {
2920 NMHDR hdr;
2921 UINT uBand;
2922 UINT wID;
2923 LPARAM lParam;
2924 RECT rc;
2925 LPARAM lParamNM;
2926} NMREBARCHEVRON, *LPNMREBARCHEVRON;
2927#endif
2928typedef struct _RB_HITTESTINFO {
2929 POINT pt;
2930 UINT flags;
2931 int iBand;
2932} RBHITTESTINFO,*LPRBHITTESTINFO;
2933#endif
2934typedef struct _DSA *HDSA;
2935typedef struct _DPA *HDPA;
2936typedef INT (CALLBACK *PFNDPAENUMCALLBACK)(PVOID,PVOID);
2937typedef INT (CALLBACK *PFNDSAENUMCALLBACK)(PVOID,PVOID);
2938typedef INT (CALLBACK *PFNDPACOMPARE)(PVOID,PVOID,LPARAM);
2939#if (_WIN32_WINNT >= 0x0501)
2940typedef LRESULT (CALLBACK *SUBCLASSPROC)(HWND,UINT,WPARAM,LPARAM,UINT_PTR,DWORD_PTR);
2941typedef struct tagLITEM {
2942 UINT mask;
2943 int iLink;
2944 UINT state;
2945 UINT stateMask;
2946 WCHAR szID[MAX_LINKID_TEXT];
2947 WCHAR szUrl[L_MAX_URL_LENGTH];
2948} LITEM,*PLITEM;
2949typedef struct tagLHITTESTINFO {
2950 POINT pt;
2951 LITEM item;
2952} LHITTESTINFO,*PLHITTESTINFO;
2953typedef struct tagNMLINK {
2954 NMHDR hdr;
2955 LITEM item;
2956} NMLINK,*PNMLINK;
2957#endif /* _WIN32_WINNT >= 0x0501 */
2958
2959#define INDEXTOOVERLAYMASK(i) ((i)<<8)
2960#define INDEXTOSTATEIMAGEMASK(i) ((i)<<12)
2961#define HANDLE_WM_NOTIFY(h,w,l,f) (f)((h),(int)(w),(NMHDR*)(l))
2962#define FORWARD_WM_NOTIFY(h,i,p,f) (LRESULT)(f)((h),WM_NOTIFY,(WPARAM)(int)(i),(LPARAM)(NMHDR*)(p))
2963#define CCSIZEOF_STRUCT(s,m) (((int)((PBYTE)(&((s*)0)->m)-((PBYTE)((s*)0))))+sizeof(((s*)0)->m))
2964#define MAKEIPADDRESS(b1,b2,b3,b4) ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4))))
2965#define MAKEIPRANGE(low,high) ((LPARAM)(WORD)(((BYTE)(high)<<8)+(BYTE)(low)))
2966#define FIRST_IPADDRESS(a) ((a>>24) & 0xff)
2967#define SECOND_IPADDRESS(a) ((a>>16) & 0xff)
2968#define THIRD_IPADDRESS(a) ((a>>8) & 0xff)
2969#define FOURTH_IPADDRESS(a) (a & 0xff)
2970#define Animate_Create(w,i,s,hI) CreateWindow(ANIMATE_CLASS,NULL,s,0,0,0,0,w,(HMENU)(i),hI,NULL)
2971#define Animate_Open(w,f) (BOOL)SNDMSG(w,ACM_OPEN,0,(LPARAM)f)
2972#define Animate_OpenEx(w,h,s) (BOOL)SNDMSG(w,ACM_OPEN,(WPARAM)h,(LPARAM)(LPTSTR)(s))
2973#define Animate_Play(w,f,t,r) (BOOL)SNDMSG(w,ACM_PLAY,(r),(LPARAM)MAKELONG(f,t))
2974#define Animate_Stop(w) (BOOL)SNDMSG(w,ACM_STOP,0,0)
2975#define Animate_Close(w) Animate_Open(w,NULL)
2976#define Animate_Seek(w,f) Animate_Play(w,f,f,1)
2977HBITMAP WINAPI CreateMappedBitmap(HINSTANCE,int,UINT,LPCOLORMAP,int);
2978HWND WINAPI CreateStatusWindowA(LONG,LPCSTR,HWND,UINT);
2979HWND WINAPI CreateStatusWindowW(LONG,LPCWSTR,HWND,UINT);
2980HWND WINAPI CreateToolbarEx(HWND,DWORD,UINT,int,HINSTANCE,UINT,LPCTBBUTTON,int,int,int,int,int,UINT);
2981HWND WINAPI CreateUpDownControl(DWORD,int,int,int,int,HWND,int,HINSTANCE,HWND,int,int,int);
2982#define DateTime_GetMonthCal(hwnd) SNDMSG(hwnd, DTM_GETMONTHCAL, 0, 0)
2983#define DateTime_GetMonthCalColor(hwnd, icolor) SNDMSG(hwnd, DTM_GETMONTHCAL, (WPARAM)icolor,0)
2984#define DateTime_GetMonthCalFont(hwnd) SNDMSG(hwnd,DTM_GETMCFONT,0,0)
2985#define DateTime_GetRange(hwnd,lpsystimearray) SNDMSG(hwnd,DTM_GETRANGE,0,(LPARAM)lpsystimearray)
2986#define DateTime_GetSystemtime(hwnd,lpsystime) SNDMSG(hwnd,DTM_GETSYSTEMTIME,0,(LPARAM)lpsystime)
2987#define DateTime_SetFormat(hwnd,lpszformat) SNDMSG(hwnd,DTM_SETFORMAT,0,(LPARAM)lpszformat)
2988#define DateTime_SetMonthCalColor(hwnd,icolor,clr) SNDMSG(hwnd,DTM_SETMCCOLOR,(WPARAM)icolor,(LPARAM)clr)
2989#define DateTime_SetMonthCalFont(hwnd,hfont,lparam) SNDMSG(hwnd,DTM_SETMCFONT,(WPARAM)hfont,(LPARAM)lparam)
2990#define DateTime_SetRange(hwnd,flags,lpsystimearray) SNDMSG(hwnd,DTM_SETRANGE,(WPARAM)flags,(LPARAM)lpsystimearray)
2991#define DateTime_SetSystemtime(hwnd,flag,lpsystime) SNDMSG(hwnd,DTM_SETSYSTEMTIME,(WPARAM)flag,(LPARAM)lpsystime)
2992void WINAPI DrawInsert(HWND,HWND,int);
2993void WINAPI DrawStatusTextA(HDC,LPRECT,LPCSTR,UINT);
2994void WINAPI DrawStatusTextW(HDC,LPRECT,LPCWSTR,UINT);
2995void WINAPI GetEffectiveClientRect(HWND,LPRECT,LPINT);
2996#if (_WIN32_IE >= 0x0500)
2997LANGID WINAPI GetMUILanguage(VOID);
2998#endif
2999#define Header_GetItemCount(w) (int)SNDMSG((w),HDM_GETITEMCOUNT,0,0)
3000#define Header_InsertItem(w,i,phdi) (int)SNDMSG((w),HDM_INSERTITEM,(WPARAM)(int)(i),(LPARAM)(const HD_ITEM*)(phdi))
3001#define Header_DeleteItem(w,i) (BOOL)SNDMSG((w),HDM_DELETEITEM,(WPARAM)(int)(i),0)
3002#define Header_GetItem(w,i,phdi) (BOOL)SNDMSG((w),HDM_GETITEM,(WPARAM)(int)(i),(LPARAM)(HD_ITEM*)(phdi))
3003#define Header_SetItem(w,i,phdi) (BOOL)SNDMSG((w),HDM_SETITEM,(WPARAM)(int)(i),(LPARAM)(const HD_ITEM*)(phdi))
3004#define Header_Layout(w,l) (BOOL)SNDMSG((w),HDM_LAYOUT,0,(LPARAM)(HD_LAYOUT*)(l))
3005#if (_WIN32_IE >= 0x0300)
3006#define Header_OrderToIndex(w,o) (int)SNDMSG((w),HDM_ORDERTOINDEX,(WPARAM)(o),0)
3007#define Header_GetItemRect(w,i,r) (BOOL)SNDMSG((w),HDM_GETITEMRECT,(WPARAM)(i),(LPARAM)(r))
3008#define Header_GetOrderArray(w,l,a) (BOOL)SNDMSG((w),HDM_GETORDERARRAY,(WPARAM)(l),(LPARAM)(a))
3009#define Header_SetOrderArray(w,l,a) (BOOL)SNDMSG((w),HDM_SETORDERARRAY,(WPARAM)(l),(LPARAM)(a))
3010#define Header_CreateDragImage(w, i) (HIMAGELIST)SNDMSG((w), HDM_CREATEDRAGIMAGE, (WPARAM)i, 0)
3011#define Header_SetImageList(w,l) (HIMAGELIST)SNDMSG((w), HDM_SETIMAGELIST, 0, (LPARAM)l)
3012#define Header_GetImageList(w) (HIMAGELIST)SNDMSG((w),HDM_GETIMAGELIST,0,0)
3013#endif
3014#if (_WIN32_IE >= 0x0400)
3015#define Header_GetUnicodeFormat(w) (BOOL)SNDMSG((w),HDM_GETUNICODEFORMAT,0,0)
3016#define Header_SetUnicodeFormat(w,f) (BOOL)SNDMSG((w),HDM_SETUNICODEFORMAT,(WPARAM)(f),0)
3017#endif
3018HDSA WINAPI DSA_Create(INT,INT);
3019BOOL WINAPI DSA_Destroy(HDSA);
3020VOID WINAPI DSA_DestroyCallback(HDSA,PFNDSAENUMCALLBACK,PVOID);
3021PVOID WINAPI DSA_GetItemPtr(HDSA,INT);
3022INT WINAPI DSA_InsertItem(HDSA,INT,PVOID);
3023HDPA WINAPI DPA_Create(INT);
3024BOOL WINAPI DPA_Destroy(HDPA);
3025PVOID WINAPI DPA_DeletePtr(HDPA,INT);
3026BOOL WINAPI DPA_DeleteAllPtrs(HDPA);
3027VOID WINAPI DPA_EnumCallback(HDPA,PFNDPAENUMCALLBACK,PVOID);
3028VOID WINAPI DPA_DestroyCallback(HDPA,PFNDPAENUMCALLBACK,PVOID);
3029BOOL WINAPI DPA_SetPtr(HDPA,INT,PVOID);
3030INT WINAPI DPA_InsertPtr(HDPA,INT,PVOID);
3031PVOID WINAPI DPA_GetPtr(HDPA,INT_PTR);
3032BOOL WINAPI DPA_Sort(HDPA,PFNDPACOMPARE,LPARAM);
3033INT WINAPI DPA_Search(HDPA,PVOID,INT,PFNDPACOMPARE,LPARAM,UINT);
3034BOOL WINAPI Str_SetPtrW(LPWSTR*,LPCWSTR);
3035#if (_WIN32_IE >= 0x0400)
3036BOOL WINAPI FlatSB_EnableScrollBar(HWND,INT,UINT);
3037BOOL WINAPI FlatSB_ShowScrollBar(HWND,INT,BOOL);
3038BOOL WINAPI FlatSB_GetScrollRange(HWND,INT,LPINT,LPINT);
3039BOOL WINAPI FlatSB_GetScrollInfo(HWND,INT,LPSCROLLINFO);
3040INT WINAPI FlatSB_GetScrollPos(HWND,INT);
3041BOOL WINAPI FlatSB_GetScrollProp(HWND,INT,LPINT);
3042#ifdef _WIN64
3043BOOL WINAPI FlatSB_GetScrollPropPtr(HWND,INT,PINT_PTR);
3044#else
3045#define FlatSB_GetScrollPropPtr FlatSB_GetScrollProp
3046#endif
3047INT WINAPI FlatSB_SetScrollPos(HWND,INT,INT,BOOL);
3048INT WINAPI FlatSB_SetScrollInfo(HWND,INT,LPSCROLLINFO,BOOL);
3049INT WINAPI FlatSB_SetScrollRange(HWND,INT,INT,INT,BOOL);
3050BOOL WINAPI FlatSB_SetScrollProp(HWND,UINT,INT_PTR,BOOL);
3051#define FlatSB_SetScrollPropPtr FlatSB_SetScrollProp
3052BOOL WINAPI InitializeFlatSB(HWND);
3053HRESULT WINAPI UninitializeFlatSB(HWND);
3054#endif /* _WIN32_IE >= 0x0400 */
3055#if (_WIN32_WINNT >= 0x0501)
3056BOOL WINAPI SetWindowSubclass(HWND,SUBCLASSPROC,UINT_PTR,DWORD_PTR);
3057BOOL WINAPI GetWindowSubclass(HWND,SUBCLASSPROC,UINT_PTR,DWORD_PTR*);
3058BOOL WINAPI RemoveWindowSubclass(HWND,SUBCLASSPROC,UINT_PTR);
3059LRESULT WINAPI DefSubclassProc(HWND,UINT,WPARAM,LPARAM);
3060INT WINAPI DrawShadowText(HDC,LPCWSTR,UINT,RECT*,DWORD,COLORREF,COLORREF,INT,INT);
3061#endif /* _WIN32_WINNT >= 0x0501 */
3062int WINAPI ImageList_Add(HIMAGELIST,HBITMAP,HBITMAP);
3063#define ImageList_AddIcon(l,i) ImageList_ReplaceIcon(l,-1,i)
3064int WINAPI ImageList_AddMasked(HIMAGELIST,HBITMAP,COLORREF);
3065BOOL WINAPI ImageList_BeginDrag(HIMAGELIST,int,int,int);
3066HIMAGELIST WINAPI ImageList_Create(int,int,UINT,int,int);
3067BOOL WINAPI ImageList_Destroy(HIMAGELIST);
3068BOOL WINAPI ImageList_DragEnter(HWND,int,int);
3069BOOL WINAPI ImageList_DragLeave(HWND);
3070BOOL WINAPI ImageList_DragMove(int,int);
3071BOOL WINAPI ImageList_DragShowNolock(BOOL);
3072BOOL WINAPI ImageList_Draw(HIMAGELIST,int,HDC,int,int,UINT);
3073BOOL WINAPI ImageList_DrawEx(HIMAGELIST,int,HDC,int,int,int,int,COLORREF,COLORREF,UINT);
3074void WINAPI ImageList_EndDrag(VOID);
3075#define ImageList_ExtractIcon(h,l,i) ImageList_GetIcon(l,i,0)
3076COLORREF WINAPI ImageList_GetBkColor(HIMAGELIST);
3077HIMAGELIST WINAPI ImageList_GetDragImage(LPPOINT,LPPOINT);
3078HICON WINAPI ImageList_GetIcon(HIMAGELIST,int,UINT);
3079BOOL WINAPI ImageList_GetIconSize(HIMAGELIST,int*,int*);
3080int WINAPI ImageList_GetImageCount(HIMAGELIST);
3081BOOL WINAPI ImageList_GetImageInfo(HIMAGELIST,int,IMAGEINFO*);
3082#define ImageList_LoadBitmap(h,l,x,G,M) ImageList_LoadImage(h,l,x,G,M,IMAGE_BITMAP,0)
3083HIMAGELIST WINAPI ImageList_LoadImageA(HINSTANCE,LPCSTR,int,int,COLORREF,UINT,UINT);
3084HIMAGELIST WINAPI ImageList_LoadImageW(HINSTANCE,LPCWSTR,int,int,COLORREF,UINT,UINT);
3085HIMAGELIST WINAPI ImageList_Merge(HIMAGELIST,int,HIMAGELIST,int,int,int);
3086BOOL WINAPI ImageList_Remove(HIMAGELIST,int);
3087#define ImageList_RemoveAll(l) ImageList_Remove(l,-1)
3088BOOL WINAPI ImageList_Replace(HIMAGELIST,int,HBITMAP,HBITMAP);
3089int WINAPI ImageList_ReplaceIcon(HIMAGELIST,int,HICON);
3090COLORREF WINAPI ImageList_SetBkColor(HIMAGELIST,COLORREF);
3091BOOL WINAPI ImageList_SetDragCursorImage(HIMAGELIST,int,int,int);
3092BOOL WINAPI ImageList_SetIconSize(HIMAGELIST,int,int);
3093BOOL WINAPI ImageList_SetOverlayImage(HIMAGELIST,int,int);
3094#ifdef _OBJIDL_H
3095HIMAGELIST WINAPI ImageList_Read(LPSTREAM);
3096BOOL WINAPI ImageList_Write(HIMAGELIST,LPSTREAM);
3097#endif
3098#if (_WIN32_IE >= 0x0400)
3099HIMAGELIST WINAPI ImageList_Duplicate(HIMAGELIST himl);
3100#endif
3101void WINAPI InitCommonControls(void);
3102#if (_WIN32_IE >= 0x0300)
3103BOOL WINAPI InitCommonControlsEx(LPINITCOMMONCONTROLSEX);
3104#endif
3105#if (_WIN32_IE >= 0x0500)
3106VOID WINAPI InitMUILanguage(LANGID);
3107#endif
3108int WINAPI LBItemFromPt(HWND,POINT,BOOL);
3109#define ListView_GetBkColor(w) (COLORREF)SNDMSG((w),LVM_GETBKCOLOR,0,0)
3110#define ListView_GetImageList(w,i) (HIMAGELIST)SNDMSG((w),LVM_GETIMAGELIST,(i),0)
3111#define ListView_GetItemCount(w) (int)SNDMSG((w),LVM_GETITEMCOUNT,0,0)
3112#define ListView_GetItem(w,i) (BOOL)SNDMSG((w),LVM_GETITEM,0,(LPARAM)(i))
3113#define ListView_SetBkColor(w,c) (BOOL)SNDMSG((w),LVM_SETBKCOLOR,0,(LPARAM)c)
3114#define ListView_SetImageList(w,h,i) (HIMAGELIST)(UINT)SNDMSG((w),LVM_SETIMAGELIST,(i),(LPARAM)(h))
3115#define ListView_SetItem(w,i) (BOOL)SNDMSG((w),LVM_SETITEM,0,(LPARAM)(const LV_ITEM*)(i))
3116#define ListView_InsertItem(w,i) (int)SNDMSG((w),LVM_INSERTITEM,0,(LPARAM)(const LV_ITEM*)(i))
3117#define ListView_DeleteItem(w,i) (BOOL)SNDMSG((w),LVM_DELETEITEM,i,0)
3118#define ListView_DeleteAllItems(w) (BOOL)SNDMSG((w),LVM_DELETEALLITEMS,0,0)
3119#define ListView_GetCallbackMask(w) (UINT)SNDMSG((w),LVM_GETCALLBACKMASK,0,0)
3120#define ListView_SetCallbackMask(w,m) (BOOL)SNDMSG((w),LVM_SETCALLBACKMASK,m,0)
3121#define ListView_GetNextItem(w,i,f) (int)SNDMSG((w),LVM_GETNEXTITEM,i,MAKELPARAM((f),0))
3122#define ListView_FindItem(w,i,p) (int)SNDMSG((w), LVM_FINDITEM,(WPARAM)i,(LPARAM)(const LV_FINDINFO*)(p))
3123#define ListView_GetItemRect(w,i,p,c) (BOOL)SNDMSG((w),LVM_GETITEMRECT,i,((p)?(((LPRECT)(p))->left=(c),(LPARAM)(LPRECT)(p)):0))
3124#define ListView_SetItemPosition(w,i,x,y) (BOOL)SNDMSG((w),LVM_SETITEMPOSITION,i,MAKELPARAM(x,y))
3125#define ListView_GetItemPosition(w,i,p) (BOOL)SNDMSG((w),LVM_GETITEMPOSITION,i,(LPARAM)p)
3126#define ListView_GetItemSpacing(w,f) (DWORD)SNDMSG((w),LVM_GETITEMSPACING,f,0)
3127#define ListView_GetStringWidth(w,s) (int)SNDMSG((w),LVM_GETSTRINGWIDTH,0,(LPARAM)s)
3128#define ListView_HitTest(w,p) (int)SNDMSG((w),LVM_HITTEST,0,(LPARAM)(LV_HITTESTINFO*)(p))
3129#define ListView_EnsureVisible(w,i,f) (BOOL)SNDMSG((w),LVM_ENSUREVISIBLE,i,MAKELPARAM((f),0))
3130#define ListView_Scroll(w,x,y) (BOOL)SNDMSG((w),LVM_SCROLL,x,y)
3131#define ListView_RedrawItems(w,f,l) (BOOL)SNDMSG((w),LVM_REDRAWITEMS,f,l)
3132#define ListView_Arrange(w,c) (BOOL)SNDMSG((w),LVM_ARRANGE,c,0)
3133#define ListView_EditLabel(w,i) (HWND)SNDMSG((w),LVM_EDITLABEL,i,0)
3134#define ListView_GetEditControl(w) (HWND)SNDMSG((w),LVM_GETEDITCONTROL,0,0)
3135#define ListView_GetColumn(w,i,p) (BOOL)SNDMSG((w),LVM_GETCOLUMN,i,(LPARAM)(LV_COLUMN*)(p))
3136#define ListView_SetColumn(w,i,p) (BOOL)SNDMSG((w),LVM_SETCOLUMN,i,(LPARAM)(const LV_COLUMN*)(p))
3137#define ListView_InsertColumn(w,i,p) (int)SNDMSG((w),LVM_INSERTCOLUMN,i,(LPARAM)(const LV_COLUMN*)(p))
3138#define ListView_DeleteColumn(w,i) (BOOL)SNDMSG((w),LVM_DELETECOLUMN,i,0)
3139#define ListView_GetColumnWidth(w,i) (int)SNDMSG((w),LVM_GETCOLUMNWIDTH,i,0)
3140#define ListView_SetColumnWidth(w,i,x) (BOOL)SNDMSG((w),LVM_SETCOLUMNWIDTH,i,MAKELPARAM((x),0))
3141#define ListView_CreateDragImage(w,i,p) (HIMAGELIST)SNDMSG((w),LVM_CREATEDRAGIMAGE,i,(LPARAM)(LPPOINT)(p))
3142#define ListView_GetViewRect(w,p) (BOOL)SNDMSG((w),LVM_GETVIEWRECT,0,(LPARAM)(LPRECT)(p))
3143#define ListView_GetTextColor(w) (COLORREF)SNDMSG((w),LVM_GETTEXTCOLOR,0,0)
3144#define ListView_SetTextColor(w,c) (BOOL)SNDMSG((w),LVM_SETTEXTCOLOR,0,(LPARAM)(COLORREF)(c))
3145#define ListView_GetTextBkColor(w) (COLORREF)SNDMSG((w),LVM_GETTEXTBKCOLOR,0,0)
3146#define ListView_SetTextBkColor(w,c) (BOOL)SNDMSG((w),LVM_SETTEXTBKCOLOR,0,(LPARAM)(COLORREF)(c))
3147#define ListView_GetTopIndex(w) (int)SNDMSG((w),LVM_GETTOPINDEX,0,0)
3148#define ListView_GetCountPerPage(w) (int)SNDMSG((w),LVM_GETCOUNTPERPAGE,0,0)
3149#define ListView_GetOrigin(w,p) (BOOL)SNDMSG((w),LVM_GETORIGIN,0,(LPARAM)(POINT*)(p))
3150#define ListView_GetOrigin(w,p) (BOOL)SNDMSG((w),LVM_GETORIGIN,0,(LPARAM)(POINT*)(p))
3151#define ListView_Update(w,i) (BOOL)SNDMSG((w),LVM_UPDATE,(WPARAM)(i),0)
3152#define ListView_SetItemState(w,i,d,m) \
3153{ \
3154 LV_ITEM _lvi;\
3155 _lvi.stateMask=m;\
3156 _lvi.state=d;\
3157 SNDMSG((w),LVM_SETITEMSTATE,i,(LPARAM)(LV_ITEM*)&_lvi);\
3158}
3159#define ListView_GetItemState(w,i,m) (UINT)SNDMSG((w),LVM_GETITEMSTATE,i,m)
3160#define ListView_GetItemText(w,i,iS,s,n) \
3161{ \
3162 LV_ITEM _lvi;\
3163 _lvi.iSubItem=iS;\
3164 _lvi.cchTextMax=n;\
3165 _lvi.pszText=s;\
3166 SNDMSG((w),LVM_GETITEMTEXT,i,(LPARAM)(LV_ITEM*)&_lvi);\
3167}
3168#define ListView_SetItemText(w,i,iS,s) \
3169{ \
3170 LV_ITEM _lvi;\
3171 _lvi.iSubItem=iS;\
3172 _lvi.pszText=s;\
3173 SNDMSG((w),LVM_SETITEMTEXT,i,(LPARAM)(LV_ITEM*)&_lvi);\
3174}
3175#define ListView_SetItemCount(w,n) (void)SNDMSG((w),LVM_SETITEMCOUNT,n,0)
3176#define ListView_SortItems(w,f,l) (BOOL)SNDMSG((w),LVM_SORTITEMS,l,(LPARAM)f)
3177#define ListView_SetItemPosition32(w,i,x,y) \
3178{ \
3179 POINT p={x,y}; \
3180 SNDMSG((w),LVM_SETITEMPOSITION32,i,(LPARAM)&p);\
3181}
3182#define ListView_GetSelectedCount(w) (UINT)SNDMSG((w),LVM_GETSELECTEDCOUNT,0,0)
3183#define ListView_GetCheckState(w,i) ((((UINT)(SNDMSG((w),LVM_GETITEMSTATE,(WPARAM)(i),LVIS_STATEIMAGEMASK)))>>12)-1)
3184#define ListView_SetCheckState(w,i,f) ListView_SetItemState(w,i,INDEXTOSTATEIMAGEMASK((f)+1),LVIS_STATEIMAGEMASK)
3185#define ListView_GetISearchString(w,lpsz) (BOOL)SNDMSG((w),LVM_GETISEARCHSTRING,0,(LPARAM)(LPTSTR)(lpsz))
3186#define ListView_CancelEditLabel(w) (VOID)SNDMSG((w),LVM_CANCELEDITLABEL,0,0)
3187#define ListView_EnableGroupView(w,i) (int)SNDMSG((w),LVM_ENABLEGROUPVIEW,(WPARAM)(i),0)
3188#define ListView_GetGroupInfo(w,i,p) (int)SNDMSG((w),LVM_GETGROUPINFO,(WPARAM)(i),(LPARAM)(p))
3189#define ListView_GetGroupMetrics(w,p) SNDMSG((w),LVM_GETGROUPMETRICS,0,(LPARAM)(p))
3190#define ListView_GetInsertMark(w,p) (BOOL)SNDMSG((w),LVM_GETINSERTMARK,0,(LPARAM)(p))
3191#define ListView_GetInsertMarkColor(w) (COLORREF)SNDMSG((w),LVM_GETINSERTMARKCOLOR,0,0)
3192#define ListView_GetInsertMarkRect(w,p) (int)SNDMSG((w),LVM_GETINSERTMARKRECT,0,(LPARAM)(p))
3193#define ListView_GetOutlineColor(w) (COLORREF)SNDMSG((w),LVM_GETOUTLINECOLOR,0,0)
3194#define ListView_GetSelectedColumn(w) (UINT)SNDMSG((w),LVM_GETSELECTEDCOLUMN,0,0)
3195#define ListView_GetTileInfo(w,p) SNDMSG((w),LVM_GETTILEINFO,0,(LPARAM)(p))
3196#define ListView_GetTileViewInfo(w,p) SNDMSG((w),LVM_GETTILEVIEWINFO,0,(LPARAM)(p))
3197#define ListView_GetView(w) (DWORD)SNDMSG((w),LVM_GETVIEW,0,0)
3198#define ListView_HasGroup(w,i) (BOOL)SNDMSG((w),LVM_HASGROUP,(WPARAM)(i),0)
3199#define ListView_InsertGroup(w,i,p) (int)SNDMSG((w),LVM_INSERTGROUP,(WPARAM)(i),(LPARAM)(p))
3200#define ListView_InsertGroupSorted(w,p) SNDMSG((w),LVM_INSERTGROUPSORTED,(WPARAM)(p),0)
3201#define ListView_InsertMarkHitTest(w,p,t) (BOOL)SNDMSG((w),LVM_INSERTMARKHITTEST,(WPARAM)(p),(LPARAM)(t))
3202#define ListView_IsGroupViewEnabled(w) (BOOL)SNDMSG((w),LVM_ISGROUPVIEWENABLED,0,0)
3203#define ListView_MapIDToIndex(w,i) (UINT)SNDMSG((w),LVM_MAPIDTOINDEX,(WPARAM)(i),0)
3204#define ListView_MoveGroup(w,i,t) SNDMSG((w),LVM_MOVEGROUP,(WPARAM)(i),(LPARAM)(t))
3205#define ListView_RemoveAllGroups(w) SNDMSG((w),LVM_REMOVEALLGROUPS,0,0)
3206#define ListView_RemoveGroup(w,i) (int)SNDMSG((w),LVM_REMOVEGROUP,(WPARAM)(i),0)
3207#define ListView_SetGroupInfo(w,i,p) (int)SNDMSG((w),LVM_SETGROUPINFO,(WPARAM)(i),(LPARAM)(p))
3208#define ListView_SetGroupMetrics(w,p) SNDMSG((w),LVM_SETGROUPMETRICS,0,(LPARAM)(p))
3209#define ListView_SetInfoTip(w,p) (BOOL)SNDMSG((w),LVM_SETINFOTIP,0,(LPARAM)(p))
3210#define ListView_SetInsertMark(w,p) (BOOL)SNDMSG((w),LVM_SETINSERTMARK,0,(LPARAM)(p))
3211#define ListView_SetInsertMarkColor(w,c) (COLORREF)SNDMSG((w),LVM_SETINSERTMARKCOLOR,0,(LPARAM)(c))
3212#define ListView_SetOutlineColor(w,c) (COLORREF)SNDMSG((w),LVM_SETOUTLINECOLOR,0,(LPARAM)(c))
3213#if (_WIN32_WINNT >= 0x0501)
3214#define ListView_SetSelectedColumn(w,i) SNDMSG((w),LVM_SETSELECTEDCOLUMN,(WPARAM)i,0)
3215#endif
3216#define ListView_SetTileInfo(w,p) (BOOL)SNDMSG((w),LVM_SETTILEINFO,0,(LPARAM)(p))
3217#define ListView_SetTileViewInfo(w,p) (BOOL)SNDMSG((w),LVM_SETTILEVIEWINFO,0,(LPARAM)(p))
3218#define ListView_SetView(w,i) (int)SNDMSG((w),LVM_SETVIEW,(WPARAM)(i),0)
3219#define ListView_SortGroups(w,c,p) (int)SNDMSG((w),LVM_SORTGROUPS,(WPARAM)(c),(LPARAM)(p))
3220#define ListView_SortItemsEx(w,c,p) (BOOL)SNDMSG((w),LVM_SORTITEMSEX,(WPARAM)(p),(LPARAM)(c))
3221
3222#if (_WIN32_WINNT >= 0x0501)
3223#define ComboBox_SetMinVisible(w,i) (BOOL)SNDMSG((w), CB_SETMINVISIBLE,(WPARAM)(i),0);
3224#define ComboBox_GetMinVisible(w) (INT)SNDMSG((w),CB_GETMINVISIBLE,0,0);
3225#endif
3226
3227BOOL WINAPI MakeDragList(HWND);
3228void WINAPI MenuHelp(UINT,WPARAM,LPARAM,HMENU,HINSTANCE,HWND,PUINT);
3229#define MonthCal_GetColor(hwnd,icolor) SNDMSG(hwnd,MCM_GETCOLOR,(WPARAM)icolor,(LPARAM)0)
3230#define MonthCal_GetCurSel(hwnd,lpsystime) SNDMSG(hwnd,MCM_GETCURSEL,0,(LPARAM)lpsystime)
3231#define MonthCal_GetFirstDayOfWeek(hwnd) SNDMSG(hwnd,MCM_GETFIRSTDAYOFWEEK,0,0)
3232#define MonthCal_GetMaxSelCount(hwnd) SNDMSG(hwnd,MCM_GETMAXSELCOUNT,0,0)
3233#define MonthCal_GetMaxTodayWidth(hwnd) SNDMSG(hwnd,MCM_GETMAXTODAYWIDTH,0,0)
3234#define MonthCal_GetMinReqRect(hwnd,lpRectInfo) SNDMSG(hwnd,MCM_GETMINREQRECT,0,(LPARAM)lpRectInfo)
3235#define MonthCal_GetMonthDelta(hwnd) SNDMSG(hwnd,MCM_GETMONTHDELTA,0,0)
3236#define MonthCal_GetMonthRange(hwnd,flag,systimearray) SNDMSG(hwnd,MCM_GETMONTHRANGE,(WPARAM)flag,(LPARAM)systimearray)
3237#define MonthCal_GetRange(hwnd,systimearray) SNDMSG(hwnd,MCM_GETRANGE,0,(LPARAM)systimearray)
3238#define MonthCal_GetSelRange(hwnd,systimearray) SNDMSG(hwnd,MCM_GETSELRANGE,0,(LPARAM)systimearray)
3239#define MonthCal_GetToday(hwnd,systime) SNDMSG(hwnd,MCM_GETTODAY,0,(LPARAM)systime)
3240#define MonthCal_GetUnicodeFormat(hwnd) SNDMSG(hwnd,MCM_GETUNICODEFORMAT,0,0)
3241#define MonthCal_HitTest(hwnd,pmchittest) SNDMSG(hwnd,MCM_HITTEST,0,(LPARAM)pmchittest)
3242#define MonthCal_SetColor(hwnd,icolor,clr) SNDMSG(hwnd,MCM_SETCOLOR,(WPARAM)icolor,(LPARAM)clr)
3243#define MonthCal_SetCurSel(hwnd,lpsystime) SNDMSG(hwnd,MCM_SETCURSEL,0,(LPARAM)lpsystime)
3244#define MonthCal_SetDayState(hwnd,imonths,lpdatestatearray) SNDMSG(hwnd,MCM_SETDAYSTATE,(WPARAM)imonths,(LPARAM)lpdatestatearray)
3245#define MonthCal_SetFirstDayOfWeek(hwnd,iday) SNDMSG(hwnd,MCM_SETFIRSTDAYOFWEEK,0,(LPARAM)iday)
3246#define MonthCal_SetMaxSelCount(hwnd,imax) SNDMSG(hwnd,MCM_SETMAXSELCOUNT,(WPARAM)imax,0)
3247#define MonthCal_SetMonthDelta(hwnd,idelta) SNDMSG(hwnd,MCM_SETMONTHDELTA,(WPARAM)idelta,0)
3248#define MonthCal_SetSelRange(hwnd,systimearray) SNDMSG(hwnd,MCM_SETSELRANGE,0,(LPARAM)systimearray)
3249#define MonthCal_SetToday(hwnd,systime) SNDMSG(hwnd,MCM_SETTODAY,0,(LPARAM)systime)
3250#define MonthCal_SetUnicodeFormat(hwnd,unicode) SNDMSG(hwnd,MCM_SETUNICODEFORMAT,(WPARAM)unicode,0)
3251#define MonthCal_SetRange(w,f,st) (BOOL)SNDMSG((w),MCM_SETRANGE,(WPARAM)(f),(LPARAM)(st))
3252BOOL WINAPI ShowHideMenuCtl(HWND,UINT,PINT);
3253#define TabCtrl_GetItem(w,i,p) (BOOL)SNDMSG((w),TCM_GETITEM,i,(LPARAM)(TC_ITEM*)(p))
3254#define TabCtrl_SetItem(w,i,p) (BOOL)SNDMSG((w),TCM_SETITEM,i,(LPARAM)(TC_ITEM*)(p))
3255#define TabCtrl_InsertItem(w,i,p) (int)SNDMSG((w),TCM_INSERTITEM,i,(LPARAM)(const TC_ITEM*)(p))
3256#define TabCtrl_DeleteItem(w,i) (BOOL)SNDMSG((w),TCM_DELETEITEM,i,0)
3257#define TabCtrl_DeleteAllItems(w) (BOOL)SNDMSG((w),TCM_DELETEALLITEMS,0,0)
3258#define TabCtrl_GetItemRect(w,i,p) (BOOL)SNDMSG((w),TCM_GETITEMRECT,i,(LPARAM)(LPRECT)(p))
3259#define TabCtrl_GetCurSel(w) (int)SNDMSG((w),TCM_GETCURSEL,0,0)
3260#define TabCtrl_SetCurSel(w,i) (int)SNDMSG((w),TCM_SETCURSEL,i,0)
3261#define TabCtrl_HitTest(w,p) (int)SNDMSG((w),TCM_HITTEST,0,(LPARAM)(TC_HITTESTINFO*)(p))
3262#define TabCtrl_SetItemExtra(w,c) (BOOL)SNDMSG((w),TCM_SETITEMEXTRA,c,0)
3263#define TabCtrl_AdjustRect(w,b,p) (int)SNDMSG((w),TCM_ADJUSTRECT,b,(LPARAM)(LPRECT)p)
3264#define TabCtrl_SetItemSize(w,x,y) (DWORD)SNDMSG((w),TCM_SETITEMSIZE,0,MAKELPARAM(x,y))
3265#define TabCtrl_RemoveImage(w,i) (void)SNDMSG((w),TCM_REMOVEIMAGE,i,0)
3266#define TabCtrl_SetPadding(w,x,y) (void)SNDMSG((w),TCM_SETPADDING,0,MAKELPARAM(x,y))
3267#define TabCtrl_GetRowCount(w) (int)SNDMSG((w),TCM_GETROWCOUNT,0,0)
3268#define TabCtrl_GetToolTips(w) (HWND)SNDMSG((w),TCM_GETTOOLTIPS,0,0)
3269#define TabCtrl_SetToolTips(w,t) (void)SNDMSG((w),TCM_SETTOOLTIPS,(WPARAM)t,0)
3270#define TabCtrl_GetCurFocus(w) (int)SNDMSG((w),TCM_GETCURFOCUS,0,0)
3271#define TabCtrl_SetCurFocus(w,i) (void)SNDMSG((w),TCM_SETCURFOCUS,i,0)
3272#define TabCtrl_GetImageList(w) (HIMAGELIST)SNDMSG((w),TCM_GETIMAGELIST,0,0)
3273#define TabCtrl_SetImageList(w,h) (HIMAGELIST)SNDMSG((w),TCM_SETIMAGELIST,0,(LPARAM)(UINT)(h))
3274#define TabCtrl_GetItemCount(w) (int)SNDMSG((w),TCM_GETITEMCOUNT,0,0)
3275BOOL WINAPI _TrackMouseEvent(LPTRACKMOUSEEVENT);
3276#define TreeView_InsertItem(w,i) (HTREEITEM)SNDMSG((w),TVM_INSERTITEM,0,(LPARAM)(LPTV_INSERTSTRUCT)(i))
3277#define TreeView_DeleteItem(w,i) (BOOL)SNDMSG((w),TVM_DELETEITEM,0,(LPARAM)(HTREEITEM)(i))
3278#define TreeView_DeleteAllItems(w) (BOOL)SNDMSG((w),TVM_DELETEITEM,0,(LPARAM)TVI_ROOT)
3279#define TreeView_Expand(w,i,c) (BOOL)SNDMSG((w),TVM_EXPAND,c,(LPARAM)(HTREEITEM)(i))
3280#define TreeView_GetItemRect(w,i,p,c) (*(HTREEITEM*)p=(i),(BOOL)SNDMSG((w),TVM_GETITEMRECT,c,(LPARAM)(LPRECT)(p)))
3281#define TreeView_GetCount(w) (UINT)SNDMSG((w),TVM_GETCOUNT,0,0)
3282#define TreeView_GetIndent(w) (UINT)SNDMSG((w),TVM_GETINDENT,0,0)
3283#define TreeView_SetIndent(w,i) (BOOL)SNDMSG((w),TVM_SETINDENT,i,0)
3284#define TreeView_GetImageList(w,i) (HIMAGELIST)SNDMSG((w),TVM_GETIMAGELIST,i,0)
3285#define TreeView_SetImageList(w,h,i) (HIMAGELIST)SNDMSG((w),TVM_SETIMAGELIST,i,(LPARAM)(HIMAGELIST)(h))
3286#define TreeView_GetNextItem(w,i,c) (HTREEITEM)SNDMSG((w),TVM_GETNEXTITEM,c,(LPARAM)(HTREEITEM)(i))
3287#define TreeView_GetChild(w,i) TreeView_GetNextItem(w,i,TVGN_CHILD)
3288#define TreeView_GetNextSibling(w,i) TreeView_GetNextItem(w,i,TVGN_NEXT)
3289#define TreeView_GetPrevSibling(w,i) TreeView_GetNextItem(w,i,TVGN_PREVIOUS)
3290#define TreeView_GetParent(w,i) TreeView_GetNextItem(w,i,TVGN_PARENT)
3291#define TreeView_GetFirstVisible(w) TreeView_GetNextItem(w,NULL,TVGN_FIRSTVISIBLE)
3292#define TreeView_GetNextVisible(w,i) TreeView_GetNextItem(w,i,TVGN_NEXTVISIBLE)
3293#define TreeView_GetPrevVisible(w,i) TreeView_GetNextItem(w,i,TVGN_PREVIOUSVISIBLE)
3294#define TreeView_GetSelection(w) TreeView_GetNextItem(w,NULL,TVGN_CARET)
3295#define TreeView_GetDropHilight(w) TreeView_GetNextItem(w,NULL,TVGN_DROPHILITE)
3296#define TreeView_GetRoot(w) TreeView_GetNextItem(w,NULL,TVGN_ROOT)
3297#define TreeView_Select(w,i,c) (BOOL)SNDMSG((w),TVM_SELECTITEM,c,(LPARAM)(HTREEITEM)(i))
3298#define TreeView_SelectItem(w,i) TreeView_Select(w,i,TVGN_CARET)
3299#define TreeView_SelectDropTarget(w,i) TreeView_Select(w,i,TVGN_DROPHILITE)
3300#define TreeView_SelectSetFirstVisible(w,i) TreeView_Select(w,i,TVGN_FIRSTVISIBLE)
3301#define TreeView_GetItem(w,i) (BOOL)SNDMSG((w),TVM_GETITEM,0,(LPARAM)(TV_ITEM*)(i))
3302#define TreeView_SetItem(w,i) (BOOL)SNDMSG((w),TVM_SETITEM,0,(LPARAM)(const TV_ITEM*)(i))
3303#define TreeView_EditLabel(w,i) (HWND)SNDMSG((w),TVM_EDITLABEL,0,(LPARAM)(HTREEITEM)(i))
3304#define TreeView_GetEditControl(w) (HWND)SNDMSG((w),TVM_GETEDITCONTROL,0,0)
3305#define TreeView_GetVisibleCount(w) (UINT)SNDMSG((w),TVM_GETVISIBLECOUNT,0,0)
3306#define TreeView_HitTest(w,p) (HTREEITEM)SNDMSG((w),TVM_HITTEST,0,(LPARAM)(LPTV_HITTESTINFO)(p))
3307#define TreeView_CreateDragImage(w,i) (HIMAGELIST)SNDMSG((w),TVM_CREATEDRAGIMAGE,0,(LPARAM)(HTREEITEM)(i))
3308#define TreeView_SortChildren(w,i,r) (BOOL)SNDMSG((w),TVM_SORTCHILDREN,r,(LPARAM)(HTREEITEM)(i))
3309#define TreeView_EnsureVisible(w,i) (BOOL)SNDMSG((w),TVM_ENSUREVISIBLE,0,(LPARAM)(HTREEITEM)(i))
3310#define TreeView_SortChildrenCB(w,s,r) (BOOL)SNDMSG((w),TVM_SORTCHILDRENCB,r,(LPARAM)(LPTVSORTCB)(s))
3311#define TreeView_EndEditLabelNow(w,f) (BOOL)SNDMSG((w),TVM_ENDEDITLABELNOW,f,0)
3312#define TreeView_GetISearchString(w,s) (BOOL)SNDMSG((w),TVM_GETISEARCHSTRING,0,(LPARAM)s)
3313#if (_WIN32_IE >= 0x0300)
3314#define ListView_ApproximateViewRect(w,iw,ih,i) (DWORD)SNDMSG((w),LVM_APPROXIMATEVIEWRECT,(i),MAKELPARAM((iw),(ih)))
3315#define ListView_SetExtendedListViewStyle(w,s) (DWORD)SNDMSG((w),LVM_SETEXTENDEDLISTVIEWSTYLE,0,(s))
3316#define ListView_GetExtendedListViewStyle(w) (DWORD)SNDMSG((w),LVM_GETEXTENDEDLISTVIEWSTYLE,0,0)
3317#define ListView_SetColumnOrderArray(w,i,a) (BOOL)SNDMSG((w),LVM_SETCOLUMNORDERARRAY,(WPARAM)(i),(LPARAM)(LPINT)(a))
3318#define ListView_GetColumnOrderArray(w,i,a) (BOOL)SNDMSG((w),LVM_GETCOLUMNORDERARRAY,(WPARAM)(i),(LPARAM)(LPINT)(a))
3319#define ListView_GetHeader(w) (HWND)SNDMSG((w),LVM_GETHEADER,0,0)
3320#define ListView_GetHotCursor(w) (HCURSOR)SNDMSG((w),LVM_GETHOTCURSOR,0,0)
3321#define ListView_GetHotItem(w) (INT)SNDMSG((w),LVM_GETHOTITEM,0,0)
3322#define ListView_GetSubItemRect(w,i,is,c,p) (BOOL)SNDMSG((w),LVM_GETSUBITEMRECT,(WPARAM)(int)(i),((p)?(((LPRECT)(p))->left=(c),(((LPRECT)(p))->top=(is)),(LPARAM)(LPRECT)(p)):0))
3323#define ListView_SetHotCursor(w,c) (HCURSOR)SNDMSG((w),LVM_SETHOTCURSOR,0,(LPARAM)(c))
3324#define ListView_SetHotItem(w,i) (int)SNDMSG((w),LVM_SETHOTITEM,(WPARAM)(i),0)
3325#define ListView_SetIconSpacing(w,x,y) (DWORD)SNDMSG((w),LVM_SETICONSPACING,0,MAKELONG(x,y))
3326#define ListView_SubItemHitTest(w,p) (INT)SNDMSG((w),LVM_SUBITEMHITTEST,0,(LPARAM)(LPLVHITTESTINFO)(p))
3327#define ListView_SetItemCountEx(w,i,f) (void)SNDMSG((w),LVM_SETITEMCOUNT,(WPARAM)(i),(LPARAM)(f))
3328WINBOOL WINAPI ImageList_SetImageCount(HIMAGELIST,UINT);
3329WINBOOL WINAPI ImageList_Copy(HIMAGELIST,int,HIMAGELIST,int,UINT);
3330WINBOOL WINAPI ImageList_DrawIndirect(IMAGELISTDRAWPARAMS*);
3331#define TabCtrl_SetMinTabWidth(hwnd,x) SNDMSG((hwnd),TCM_SETMINTABWIDTH,0,x)
3332#define TabCtrl_DeselectAll(hwnd,fExcludeFocus) SNDMSG((hwnd),TCM_DESELECTALL,fExcludeFocus,0)
3333#define TreeView_GetToolTips(w) (HWND)SNDMSG((w),TVM_GETTOOLTIPS,0,0)
3334#define TreeView_SetToolTips(w,wt) (HWND)SNDMSG((w),TVM_SETTOOLTIPS,(WPARAM)(wt),0)
3335#endif
3336#if (_WIN32_IE >= 0x0400)
3337#define ListView_GetBkImage(h,plvbki) (BOOL)SNDMSG((h),LVM_GETBKIMAGE,0,(LPARAM)(plvbki))
3338#define ListView_SetBkImage(h,plvbki) (BOOL)SNDMSG((h),LVM_SETBKIMAGE,0,(LPARAM)(plvbki))
3339#define ListView_SetExtendedListViewStyleEx(w,m,s) (DWORD)SNDMSG((w),LVM_SETEXTENDEDLISTVIEWSTYLE,(m),(s))
3340#define ListView_SetWorkAreas(w,n,r) (BOOL)SNDMSG((w),LVM_SETWORKAREAS,(WPARAM)(n),(LPARAM)(RECT *)(r))
3341#define ListView_GetWorkAreas(w,n,r) (BOOL)SNDMSG((w),LVM_GETWORKAREAS,(WPARAM)(n),(LPARAM)(RECT *)(r))
3342#define ListView_GetNumberOfWorkAreas(w,n) (BOOL)SNDMSG((w),LVM_GETNUMBEROFWORKAREAS,0,(LPARAM)(UINT *)(n))
3343#define ListView_SetHoverTime(w,t) (DWORD)SNDMSG((w),LVM_SETHOVERTIME,0,(LPARAM)(t))
3344#define ListView_GetHoverTime(w) (DWORD)SNDMSG((w),LVM_GETHOVERTIME,0,0)
3345#define ListView_GetSelectionMark(w) (INT)SNDMSG((w),LVM_GETSELECTIONMARK,0,0)
3346#define ListView_SetSelectionMark(w,i) (INT)SNDMSG((w),LVM_SETSELECTIONMARK,0,(LPARAM)(i))
3347#define ListView_SetToolTips(w,n) (HWND)SNDMSG((w),LVM_SETTOOLTIPS,(WPARAM)(n),0)
3348#define ListView_GetToolTips(w) (HWND)SNDMSG((w),LVM_GETTOOLTIPS,0,0)
3349#define ListView_SetUnicodeFormat(w,f) (BOOL)SNDMSG((w),LVM_SETUNICODEFORMAT,(WPARAM)(f),0)
3350#define ListView_GetUnicodeFormat(w) (BOOL)SNDMSG((w),LVM_GETUNICODEFORMAT,0,0)
3351#define TabCtrl_HighlightItem(w,i,fHighlight) SNDMSG((w),TCM_HIGHLIGHTITEM,(WPARAM)i,(LPARAM)MAKELONG(fHighlight,0))
3352#define TabCtrl_SetExtendedStyle(w,dw) SNDMSG((w),TCM_SETEXTENDEDSTYLE,0,dw)
3353#define TabCtrl_GetExtendedStyle(w) SNDMSG((w),TCM_GETEXTENDEDSTYLE,0,0)
3354#define TabCtrl_SetUnicodeFormat(w,u) SNDMSG((w),TCM_SETUNICODEFORMAT,(WPARAM)(u),0)
3355#define TabCtrl_GetUnicodeFormat(w) SNDMSG((w),TCM_GETUNICODEFORMAT,0,0)
3356#define TreeView_GetBkColor(w) (COLORREF)SNDMSG((w),TVM_GETBKCOLOR,0,0)
3357#define TreeView_GetInsertMarkColor(w) (COLORREF)SNDMSG((w),TVM_GETINSERTMARKCOLOR,0,0)
3358#define TreeView_GetItemHeight(w) (int)SNDMSG((w),TVM_GETITEMHEIGHT,0,0)
3359#define TreeView_GetScrollTime(w) (UINT)SNDMSG((w),TVM_GETSCROLLTIME,0,0)
3360#define TreeView_GetTextColor(w) (COLORREF)SNDMSG((w),TVM_GETTEXTCOLOR,0,0)
3361#define TreeView_SetBkColor(w,c) (COLORREF)SNDMSG((w),TVM_SETBKCOLOR,0,(LPARAM)(c))
3362#define TreeView_SetInsertMarkColor(w,c) (COLORREF)SNDMSG((w),TVM_SETINSERTMARKCOLOR,0,(LPARAM)(c))
3363#define TreeView_SetItemHeight(w,h) (int)SNDMSG((w),TVM_SETITEMHEIGHT,(WPARAM)(h),0)
3364#define TreeView_SetScrollTime(w,t) (UINT)SNDMSG((w),TVM_SETSCROLLTIME,(WPARAM)(UINT)(t),0)
3365#define TreeView_SetTextColor(w,c) (COLORREF)SNDMSG((w),TVM_SETTEXTCOLOR,0,(LPARAM)(c))
3366#define TreeView_SetInsertMark(w,i,a) (BOOL)SNDMSG((w),TVM_SETINSERTMARK,(WPARAM)(a),(LPARAM)(i))
3367#define TreeView_SetUnicodeFormat(w,u) (BOOL)SNDMSG((w),TVM_SETUNICODEFORMAT,(WPARAM)(u),0)
3368#define TreeView_GetUnicodeFormat(w) (BOOL)SNDMSG((w),TVM_GETUNICODEFORMAT,0,0)
3369#define TreeView_GetLastVisible(w) TreeView_GetNextItem(w,NULL,TVGN_LASTVISIBLE)
3370#endif
3371#if (_WIN32_IE >= 0x0500)
3372#define TreeView_GetItemState(w,i,m) (UINT)SNDMSG((w),TVM_GETITEMSTATE,(WPARAM)(i),(LPARAM)(m))
3373#define TreeView_SetItemState(w,i,d,m) \
3374{ \
3375 TVITEM _tvi;\
3376 _tvi.mask=TVIF_STATE;\
3377 _tvi.hItem=i; \
3378 _tvi.stateMask=m;\
3379 _tvi.state=d;\
3380 SNDMSG((w),TVM_SETITEM,0,(LPARAM)(TVITEM*)&_tvi);\
3381}
3382#endif
3383
3384#ifdef UNICODE
3385typedef HDITEMW HDITEM;
3386typedef TOOLINFOW TOOLINFO,*PTOOLINFO,*LPTOOLINFO;
3387typedef TTHITTESTINFOW TTHITTESTINFO,*LPHITTESTINFO,*LPTTHITTESTINFO;
3388typedef TOOLTIPTEXTW TOOLTIPTEXT,*LPTOOLTIPTEXT;
3389typedef NMTTDISPINFOW NMTTDISPINFO, *LPNMTTDISPINFO;
3390typedef TV_ITEMW TV_ITEM,*LPTV_ITEM;
3391typedef TVITEMW TVITEM,*LPTVITEM;
3392#if (_WIN32_IE >= 0x0400)
3393typedef TVITEMEXW TVITEMEX,*LPTVITEMEX;
3394#endif
3395typedef TV_INSERTSTRUCTW TV_INSERTSTRUCT,*LPTV_INSERTSTRUCT;
3396typedef TVINSERTSTRUCTW TVINSERTSTRUCT,*LPTVINSERTSTRUCT;
3397typedef NM_TREEVIEWW NM_TREEVIEW,*LPNM_TREEVIEW;
3398typedef NMTREEVIEWW NMTREEVIEW,*LPNMTREEVIEW;
3399typedef NMHDDISPINFOW NMHDDISPINFO, *LPNMHDDISPINFO;
3400#define ACM_OPEN ACM_OPENW
3401#define COMBOBOXEXITEM COMBOBOXEXITEMW
3402#define PCOMBOBOXEXITEM PCOMBOBOXEXITEMW
3403#define PCCOMBOBOXEXITEM PCCOMBOBOXEXITEMW
3404#define CBEM_INSERTITEM CBEM_INSERTITEMW
3405#define CBEM_SETITEM CBEM_SETITEMW
3406#define CBEM_GETITEM CBEM_GETITEMW
3407#define CBEN_ENDEDIT CBEN_ENDEDITW
3408#define NMCBEENDEDIT NMCBEENDEDITW
3409#define LPNMCBEENDEDIT LPNMCBEENDEDITW
3410#define PNMCBEENDEDIT PNMCBEENDEDITW
3411#if _WIN32_IE >= 0x0400
3412#define NMCOMBOBOXEX NMCOMBOBOXEXW
3413#define PNMCOMBOBOXEX PNMCOMBOBOXEXW
3414#define CBEN_GETDISPINFO CBEN_GETDISPINFOW
3415#define CBEN_DRAGBEGIN CBEN_DRAGBEGINW
3416#define NMCBEDRAGBEGIN NMCBEDRAGBEGINW
3417#define LPNMCBEDRAGBEGIN LPNMCBEDRAGBEGINW
3418#define PNMCBEDRAGBEGIN PNMCBEDRAGBEGINW
3419#endif /* _WIN32_IE >= 0x0400 */
3420#define SB_GETTEXT SB_GETTEXTW
3421#define SB_SETTEXT SB_SETTEXTW
3422#define SB_GETTEXTLENGTH SB_GETTEXTLENGTHW
3423#define HDM_INSERTITEM HDM_INSERTITEMW
3424#define HDM_GETITEM HDM_GETITEMW
3425#define HDM_SETITEM HDM_SETITEMW
3426#define HDN_ITEMCHANGING HDN_ITEMCHANGINGW
3427#define HDN_ITEMCHANGED HDN_ITEMCHANGEDW
3428#define HDN_ITEMCLICK HDN_ITEMCLICKW
3429#define HDN_ITEMDBLCLICK HDN_ITEMDBLCLICKW
3430#define HDN_DIVIDERDBLCLICK HDN_DIVIDERDBLCLICKW
3431#define HDN_BEGINTRACK HDN_BEGINTRACKW
3432#define HDN_ENDTRACK HDN_ENDTRACKW
3433#define HDN_TRACK HDN_TRACKW
3434#if (_WIN32_IE >= 0x0300)
3435#define HDN_GETDISPINFO HDN_GETDISPINFOW
3436#endif
3437#define HD_NOTIFY HD_NOTIFYW
3438#define TBSAVEPARAMS TBSAVEPARAMSW
3439#define TB_GETBUTTONTEXT TB_GETBUTTONTEXTW
3440#define TB_SAVERESTORE TB_SAVERESTOREW
3441#define TB_ADDSTRING TB_ADDSTRINGW
3442#define TBN_GETBUTTONINFO TBN_GETBUTTONINFOW
3443#if _WIN32_IE >= 0x400
3444#define TB_GETBUTTONINFO TB_GETBUTTONINFOW
3445#define TB_SETBUTTONINFO TB_SETBUTTONINFOW
3446#define TB_INSERTBUTTON TB_INSERTBUTTONW
3447#define TB_ADDBUTTONS TB_ADDBUTTONSW
3448#define TB_MAPACCELERATOR TB_MAPACCELERATORW
3449#define TB_GETSTRING TB_GETSTRINGW
3450#define TBBUTTONINFO TBBUTTONINFOW
3451#define LPTBBUTTONINFO LPTBBUTTONINFOW
3452#define TBN_GETDISPINFO TBN_GETDISPINFOW
3453#define NMTBDISPINFO NMTBDISPINFOW
3454#define LPNMTBDISPINFO LPNMTBDISPINFOW
3455#define NMTBGETINFOTIP NMTBGETINFOTIPW
3456#define LPNMTBGETINFOTIP LPNMTBGETINFOTIPW
3457#endif
3458#define TBNOTIFY TBNOTIFYW
3459#define LPTBNOTIFY LPTBNOTIFYW
3460#define NMTOOLBAR NMTOOLBARW
3461#define LPNMTOOLBAR LPNMTOOLBARW
3462#define TTM_ADDTOOL TTM_ADDTOOLW
3463#define TTM_DELTOOL TTM_DELTOOLW
3464#define TTM_NEWTOOLRECT TTM_NEWTOOLRECTW
3465#define TTM_GETTOOLINFO TTM_GETTOOLINFOW
3466#define TTM_SETTOOLINFO TTM_SETTOOLINFOW
3467#define TTM_HITTEST TTM_HITTESTW
3468#define TTM_GETTEXT TTM_GETTEXTW
3469#define TTM_UPDATETIPTEXT TTM_UPDATETIPTEXTW
3470#define TTM_ENUMTOOLS TTM_ENUMTOOLSW
3471#define TTM_GETCURRENTTOOL TTM_GETCURRENTTOOLW
3472#define TTN_NEEDTEXT TTN_NEEDTEXTW
3473#define TTN_GETDISPINFO TTN_GETDISPINFOW
3474#define SB_GETTEXT SB_GETTEXTW
3475#define SB_SETTEXT SB_SETTEXTW
3476#define SB_GETTEXTLENGTH SB_GETTEXTLENGTHW
3477#define LV_ITEM LV_ITEMW
3478#define LVITEM LVITEMW
3479#define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKW
3480#if _WIN32_IE >= 0x0400
3481#define LVBKIMAGE LVBKIMAGEW
3482#define LPLVBKIMAGE LPLVBKIMAGEW
3483#define LVM_SETBKIMAGE LVM_SETBKIMAGEW
3484#define LVM_GETBKIMAGE LVM_GETBKIMAGEW
3485#endif /* _WIN32_IE >= 0x400 */
3486#define LVM_GETITEM LVM_GETITEMW
3487#define LVM_SETITEM LVM_SETITEMW
3488#define LVM_INSERTITEM LVM_INSERTITEMW
3489#define LV_FINDINFO LV_FINDINFOW
3490#define LVFINDINFO LVFINDINFOW
3491#define LPFINDINFO LPFINDINFOW
3492#define NMLVFINDITEM NMLVFINDITEMW
3493#define PNMLVFINDITEM PNMLVFINDITEMW
3494#define LPNMLVFINDITEM LPNMLVFINDITEMW
3495#define LVM_FINDITEM LVM_FINDITEMW
3496#define LVM_GETSTRINGWIDTH LVM_GETSTRINGWIDTHW
3497#define LVM_EDITLABEL LVM_EDITLABELW
3498#define LV_COLUMN LV_COLUMNW
3499#define LVCOLUMN LVCOLUMNW
3500#define LVM_GETCOLUMN LVM_GETCOLUMNW
3501#define LVM_SETCOLUMN LVM_SETCOLUMNW
3502#define LVM_INSERTCOLUMN LVM_INSERTCOLUMNW
3503#define LVM_GETITEMTEXT LVM_GETITEMTEXTW
3504#define LVM_SETITEMTEXT LVM_SETITEMTEXTW
3505#define LVM_GETISEARCHSTRING LVM_GETISEARCHSTRINGW
3506#define LVN_BEGINLABELEDIT LVN_BEGINLABELEDITW
3507#define LVN_ENDLABELEDIT LVN_ENDLABELEDITW
3508#define LVN_GETDISPINFO LVN_GETDISPINFOW
3509#define LVN_SETDISPINFO LVN_SETDISPINFOW
3510#define LVN_GETINFOTIP LVN_GETINFOTIPW
3511#define NMLVGETINFOTIP NMLVGETINFOTIPW
3512#define LPNMLVGETINFOTIP LPNMLVGETINFOTIPW
3513#define LV_DISPINFO LV_DISPINFOW
3514#define NMLVDISPINFO NMLVDISPINFOW
3515#define LPNMLVDISPINFO LPNMLVDISPINFOW
3516#define TVM_INSERTITEM TVM_INSERTITEMW
3517#define TVM_GETITEM TVM_GETITEMW
3518#define TVM_SETITEM TVM_SETITEMW
3519#define TVM_EDITLABEL TVM_EDITLABELW
3520#define TVM_GETISEARCHSTRING TVM_GETISEARCHSTRINGW
3521#define TV_DISPINFO NMTVDISPINFOW
3522#define NMTVDISPINFO NMTVDISPINFOW
3523#define LPNMTVDISPINFO LPNMTVDISPINFOW
3524#if (_WIN32_IE >= 0x0400)
3525#define NMTVGETINFOTIP NMTVGETINFOTIPW
3526#define LPNMTVGETINFOTIP LPNMTVGETINFOTIPW
3527#define TVN_GETINFOTIP TVN_GETINFOTIPW
3528#endif
3529#define TVN_SELCHANGING TVN_SELCHANGINGW
3530#define TVN_SELCHANGED TVN_SELCHANGEDW
3531#define TVN_GETDISPINFO TVN_GETDISPINFOW
3532#define TVN_SETDISPINFO TVN_SETDISPINFOW
3533#define TVN_ITEMEXPANDING TVN_ITEMEXPANDINGW
3534#define TVN_ITEMEXPANDED TVN_ITEMEXPANDEDW
3535#define TVN_BEGINDRAG TVN_BEGINDRAGW
3536#define TVN_BEGINRDRAG TVN_BEGINRDRAGW
3537#define TVN_DELETEITEM TVN_DELETEITEMW
3538#define TVN_BEGINLABELEDIT TVN_BEGINLABELEDITW
3539#define TVN_ENDLABELEDIT TVN_ENDLABELEDITW
3540#define TC_ITEMHEADER TC_ITEMHEADERW
3541#define TCITEMHEADER TCITEMHEADERW
3542#define LPTCITEMHEADER LPTCITEMHEADERW
3543#define TC_ITEM TC_ITEMW
3544#define TCITEM TCITEMW
3545#define LPTCITEM LPTCITEMW
3546#define TCM_GETITEM TCM_GETITEMW
3547#define TCM_SETITEM TCM_SETITEMW
3548#define TCM_INSERTITEM TCM_INSERTITEMW
3549#define CreateStatusWindow CreateStatusWindowW
3550#define DrawStatusText DrawStatusTextW
3551#define ImageList_LoadImage ImageList_LoadImageW
3552#define DTM_SETFORMAT DTM_SETFORMATW
3553#define DTN_USERSTRING DTN_USERSTRINGW
3554#define DTN_WMKEYDOWN DTN_WMKEYDOWNW
3555#define DTN_FORMAT DTN_FORMATW
3556#define DTN_FORMATQUERY DTN_FORMATQUERYW
3557typedef REBARBANDINFOW REBARBANDINFO,*LPREBARBANDINFO;
3558#define LPCREBARBANDINFO LPCREBARBANDINFOW
3559#define REBARBANDINFO_V3_SIZE REBARBANDINFOW_V3_SIZE
3560#define RB_INSERTBAND RB_INSERTBANDW
3561#define RB_SETBANDINFO RB_SETBANDINFOW
3562#else /* UNICODE */
3563typedef HDITEMA HDITEM;
3564typedef TOOLINFOA TOOLINFO,*PTOOLINFO,*LPTOOLINFO;
3565typedef TTHITTESTINFOA TTHITTESTINFO,*LPHITTESTINFO,*LPTTHITTESTINFO;
3566typedef TOOLTIPTEXTA TOOLTIPTEXT,*LPTOOLTIPTEXT;
3567typedef NMTTDISPINFOA NMTTDISPINFO, *LPNMTTDISPINFO;
3568typedef TV_ITEMA TV_ITEM,*LPTV_ITEM;
3569typedef TVITEMA TVITEM,*LPTVITEM;
3570#if (_WIN32_IE >= 0x0400)
3571typedef TVITEMEXA TVITEMEX,*LPTVITEMEX;
3572#endif
3573typedef TV_INSERTSTRUCTA TV_INSERTSTRUCT,*LPTV_INSERTSTRUCT;
3574typedef TVINSERTSTRUCTA TVINSERTSTRUCT,*LPTVINSERTSTRUCT;
3575typedef NM_TREEVIEWA NM_TREEVIEW,*LPNM_TREEVIEW;
3576typedef NMTREEVIEWA NMTREEVIEW,*LPNMTREEVIEW;
3577typedef NMHDDISPINFOW NMHDDISPINFO, *LPNMHDDISPINFO;
3578#define ACM_OPEN ACM_OPENA
3579#define COMBOBOXEXITEM COMBOBOXEXITEMA
3580#define PCOMBOBOXEXITEM PCOMBOBOXEXITEMA
3581#define PCCOMBOBOXEXITEM PCCOMBOBOXEXITEMA
3582#define CBEM_INSERTITEM CBEM_INSERTITEMA
3583#define CBEM_SETITEM CBEM_SETITEMA
3584#define CBEM_GETITEM CBEM_GETITEMA
3585#define CBEN_ENDEDIT CBEN_ENDEDITA
3586#define NMCBEENDEDIT NMCBEENDEDITA
3587#define LPNMCBEENDEDIT LPNMCBEENDEDITA
3588#define PNMCBEENDEDIT PNMCBEENDEDITA
3589#if _WIN32_IE >= 0x0400
3590#define TB_GETBUTTONINFO TB_GETBUTTONINFOA
3591#define TB_SETBUTTONINFO TB_SETBUTTONINFOA
3592#define TB_INSERTBUTTON TB_INSERTBUTTONA
3593#define TB_ADDBUTTONS TB_ADDBUTTONSA
3594#define TB_MAPACCELERATOR TB_MAPACCELERATORA
3595#define TB_GETSTRING TB_GETSTRINGA
3596#define NMCOMBOBOXEX NMCOMBOBOXEXA
3597#define PNMCOMBOBOXEX PNMCOMBOBOXEXA
3598#define CBEN_DRAGBEGIN CBEN_DRAGBEGINA
3599#define CBEN_GETDISPINFO CBEN_GETDISPINFOA
3600#define NMCBEDRAGBEGIN NMCBEDRAGBEGINA
3601#define LPNMCBEDRAGBEGIN LPNMCBEDRAGBEGINA
3602#define PNMCBEDRAGBEGIN PNMCBEDRAGBEGINA
3603#define TBN_GETDISPINFO TBN_GETDISPINFOA
3604#define NMTBDISPINFO NMTBDISPINFOA
3605#define LPNMTBDISPINFO LPNMTBDISPINFOA
3606#define NMTBGETINFOTIP NMTBGETINFOTIPA
3607#define LPNMTBGETINFOTIP LPNMTBGETINFOTIPA
3608#endif /* _WIN32_IE >= 0x0400 */
3609#define SB_GETTEXT SB_GETTEXTA
3610#define SB_SETTEXT SB_SETTEXTA
3611#define SB_GETTEXTLENGTH SB_GETTEXTLENGTHA
3612#define HDM_INSERTITEM HDM_INSERTITEMA
3613#define HDM_GETITEM HDM_GETITEMA
3614#define HDM_SETITEM HDM_SETITEMA
3615#define HDN_ITEMCHANGING HDN_ITEMCHANGINGA
3616#define HDN_ITEMCHANGED HDN_ITEMCHANGEDA
3617#define HDN_ITEMCLICK HDN_ITEMCLICKA
3618#define HDN_ITEMDBLCLICK HDN_ITEMDBLCLICKA
3619#define HDN_DIVIDERDBLCLICK HDN_DIVIDERDBLCLICKA
3620#define HDN_BEGINTRACK HDN_BEGINTRACKA
3621#define HDN_ENDTRACK HDN_ENDTRACKA
3622#define HDN_TRACK HDN_TRACKA
3623#if (_WIN32_IE >= 0x0300)
3624#define HDN_GETDISPINFO HDN_GETDISPINFOA
3625#endif
3626#define HD_NOTIFY HD_NOTIFYA
3627#define TBSAVEPARAMS TBSAVEPARAMSA
3628#define TB_GETBUTTONTEXT TB_GETBUTTONTEXTA
3629#define TB_SAVERESTORE TB_SAVERESTOREA
3630#define TB_ADDSTRING TB_ADDSTRINGA
3631#define TBN_GETBUTTONINFO TBN_GETBUTTONINFOA
3632#if _WIN32_IE >= 0x400
3633#define TBBUTTONINFO TBBUTTONINFOA
3634#define LPTBBUTTONINFO LPTBBUTTONINFOA
3635#endif
3636#define TBNOTIFY TBNOTIFYA
3637#define LPTBNOTIFY LPTBNOTIFYA
3638#define NMTOOLBAR NMTOOLBARA
3639#define LPNMTOOLBAR LPNMTOOLBARA
3640#define TTM_ADDTOOL TTM_ADDTOOLA
3641#define TTM_DELTOOL TTM_DELTOOLA
3642#define TTM_NEWTOOLRECT TTM_NEWTOOLRECTA
3643#define TTM_GETTOOLINFO TTM_GETTOOLINFOA
3644#define TTM_SETTOOLINFO TTM_SETTOOLINFOA
3645#define TTM_HITTEST TTM_HITTESTA
3646#define TTM_GETTEXT TTM_GETTEXTA
3647#define TTM_UPDATETIPTEXT TTM_UPDATETIPTEXTA
3648#define TTM_ENUMTOOLS TTM_ENUMTOOLSA
3649#define TTM_GETCURRENTTOOL TTM_GETCURRENTTOOLA
3650#define TTN_NEEDTEXT TTN_NEEDTEXTA
3651#define TTN_GETDISPINFO TTN_GETDISPINFOA
3652#define SB_GETTEXT SB_GETTEXTA
3653#define SB_SETTEXT SB_SETTEXTA
3654#define SB_GETTEXTLENGTH SB_GETTEXTLENGTHA
3655#define LV_ITEM LV_ITEMA
3656#define LVITEM LVITEMA
3657#define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKA
3658#if _WIN32_IE >= 0x0400
3659#define LVBKIMAGE LVBKIMAGEA
3660#define LPLVBKIMAGE LPLVBKIMAGEA
3661#define LVM_SETBKIMAGE LVM_SETBKIMAGEA
3662#define LVM_GETBKIMAGE LVM_GETBKIMAGEA
3663#endif /* _WIN32_IE >= 0x0400 */
3664#define LVM_GETITEM LVM_GETITEMA
3665#define LVM_SETITEM LVM_SETITEMA
3666#define LVM_INSERTITEM LVM_INSERTITEMA
3667#define LV_FINDINFO LV_FINDINFOA
3668#define LVFINDINFO LVFINDINFOA
3669#define LPFINDINFO LPFINDINFOA
3670#define NMLVFINDITEM NMLVFINDITEMA
3671#define PNMLVFINDITEM PNMLVFINDITEMA
3672#define LPNMLVFINDITEM LPNMLVFINDITEMA
3673#define LVM_FINDITEM LVM_FINDITEMA
3674#define LVM_GETSTRINGWIDTH LVM_GETSTRINGWIDTHA
3675#define LVM_EDITLABEL LVM_EDITLABELA
3676#define LV_COLUMN LV_COLUMNA
3677#define LVCOLUMN LVCOLUMNA
3678#define LVM_GETCOLUMN LVM_GETCOLUMNA
3679#define LVM_SETCOLUMN LVM_SETCOLUMNA
3680#define LVM_INSERTCOLUMN LVM_INSERTCOLUMNA
3681#define LVM_GETITEMTEXT LVM_GETITEMTEXTA
3682#define LVM_SETITEMTEXT LVM_SETITEMTEXTA
3683#define LVM_GETISEARCHSTRING LVM_GETISEARCHSTRINGA
3684#define LVN_BEGINLABELEDIT LVN_BEGINLABELEDITA
3685#define LVN_ENDLABELEDIT LVN_ENDLABELEDITA
3686#define LVN_GETDISPINFO LVN_GETDISPINFOA
3687#define LVN_SETDISPINFO LVN_SETDISPINFOA
3688#define LVN_GETINFOTIP LVN_GETINFOTIPA
3689#define NMLVGETINFOTIP NMLVGETINFOTIPA
3690#define LPNMLVGETINFOTIP LPNMLVGETINFOTIPA
3691#define LV_DISPINFO LV_DISPINFOA
3692#define NMLVDISPINFO NMLVDISPINFOA
3693#define LPNMLVDISPINFO LPNMLVDISPINFOA
3694#define TVM_INSERTITEM TVM_INSERTITEMA
3695#define TVM_GETITEM TVM_GETITEMA
3696#define TVM_SETITEM TVM_SETITEMA
3697#define TVM_EDITLABEL TVM_EDITLABELA
3698#define TVM_GETISEARCHSTRING TVM_GETISEARCHSTRINGA
3699#define TV_DISPINFO NMTVDISPINFOA
3700#define NMTVDISPINFO NMTVDISPINFOA
3701#define LPNMTVDISPINFO LPNMTVDISPINFOA
3702#if (_WIN32_IE >= 0x0400)
3703#define NMTVGETINFOTIP NMTVGETINFOTIPA
3704#define LPNMTVGETINFOTIP LPNMTVGETINFOTIPA
3705#define TVN_GETINFOTIP TVN_GETINFOTIPA
3706#endif
3707#define TVN_SELCHANGING TVN_SELCHANGINGA
3708#define TVN_SELCHANGED TVN_SELCHANGEDA
3709#define TVN_GETDISPINFO TVN_GETDISPINFOA
3710#define TVN_SETDISPINFO TVN_SETDISPINFOA
3711#define TVN_ITEMEXPANDING TVN_ITEMEXPANDINGA
3712#define TVN_ITEMEXPANDED TVN_ITEMEXPANDEDA
3713#define TVN_BEGINDRAG TVN_BEGINDRAGA
3714#define TVN_BEGINRDRAG TVN_BEGINRDRAGA
3715#define TVN_DELETEITEM TVN_DELETEITEMA
3716#define TVN_BEGINLABELEDIT TVN_BEGINLABELEDITA
3717#define TVN_ENDLABELEDIT TVN_ENDLABELEDITA
3718#define TC_ITEMHEADER TC_ITEMHEADERA
3719#define TCITEMHEADER TCITEMHEADERA
3720#define LPTCITEMHEADER LPTCITEMHEADERA
3721#define TC_ITEM TC_ITEMA
3722#define TCITEM TCITEMA
3723#define LPTCITEM LPTCITEMA
3724#define TCM_GETITEM TCM_GETITEMA
3725#define TCM_SETITEM TCM_SETITEMA
3726#define TCM_INSERTITEM TCM_INSERTITEMA
3727#define CreateStatusWindow CreateStatusWindowA
3728#define DrawStatusText DrawStatusTextA
3729#define ImageList_LoadImage ImageList_LoadImageA
3730#define DTM_SETFORMAT DTM_SETFORMATA
3731#define DTN_USERSTRING DTN_USERSTRINGA
3732#define DTN_WMKEYDOWN DTN_WMKEYDOWNA
3733#define DTN_FORMAT DTN_FORMATA
3734#define DTN_FORMATQUERY DTN_FORMATQUERYA
3735typedef REBARBANDINFOA REBARBANDINFO,*LPREBARBANDINFO;
3736#define LPCREBARBANDINFO LPCREBARBANDINFOA
3737#define REBARBANDINFO_V3_SIZE REBARBANDINFOA_V3_SIZE
3738#define RB_INSERTBAND RB_INSERTBANDA
3739#define RB_SETBANDINFO RB_SETBANDINFOA
3740#endif
3741#endif /* RC_INVOKED */
3742
3743#ifdef _WIN32_WCE /* these are PPC only */
3744
3745COMMCTRLAPI HWND WINAPI CommandBar_Create(HINSTANCE, HWND, int);
3746COMMCTRLAPI BOOL WINAPI CommandBar_Show(HWND, BOOL);
3747COMMCTRLAPI int WINAPI CommandBar_AddBitmap(HWND, HINSTANCE, int, int, int, int);
3748COMMCTRLAPI HWND WINAPI CommandBar_InsertComboBox(HWND, HINSTANCE, int, UINT, WORD, WORD);
3749COMMCTRLAPI BOOL WINAPI CommandBar_InsertMenubar(HWND, HINSTANCE, WORD, WORD );
3750COMMCTRLAPI BOOL WINAPI CommandBar_InsertMenubarEx(HWND, HINSTANCE, LPTSTR, WORD);
3751COMMCTRLAPI BOOL WINAPI CommandBar_DrawMenuBar(HWND, WORD);
3752COMMCTRLAPI HMENU WINAPI CommandBar_GetMenu(HWND, WORD);
3753COMMCTRLAPI BOOL WINAPI CommandBar_AddAdornments(HWND, DWORD, DWORD);
3754COMMCTRLAPI int WINAPI CommandBar_Height(HWND hwndCB);
3755
3756/* These two are not in the DLL */
3757#define CommandBar_InsertButton(hwnd,i,lptbbutton) \
3758 SendMessage((hwnd),TB_INSERTBUTTON,(i),(lptbbutton))
3759#define CommandBar_Destroy(hwnd) \
3760 DestroyWindow(hwnd)
3761
3762
3763#endif /* _WIN32_WCE */
3764
3765#ifdef __cplusplus
3766}
3767#endif
3768#endif
Note: See TracBrowser for help on using the repository browser.