source: trunk/include/win/commctrl.h@ 36

Last change on this file since 36 was 36, checked in by achimha, 26 years ago

* empty log message *

File size: 26.7 KB
Line 
1/*
2 * Win32 common controls include file
3 *
4 * Copyright (C) 1999 Achim Hasenmueller
5 *
6 * Based on the work of the WINE group (www.winehq.com)
7 *
8 *
9 * Project Odin Software License can be found in LICENSE.TXT
10 *
11 */
12
13#ifndef _H_COMMCTRL
14#define _H_COMMCTRL
15
16#include "windef.h"
17#include "winuser.h"
18
19/* common control styles */
20#define CCS_TOP 0x00000001L
21#define CCS_NOMOVEY 0x00000002L
22#define CCS_BOTTOM 0x00000003L
23#define CCS_NORESIZE 0x00000004L
24#define CCS_NOPARENTALIGN 0x00000008L
25#define CCS_ADJUSTABLE 0x00000020L
26#define CCS_NODIVIDER 0x00000040L
27#define CCS_VERT 0x00000080L
28#define CCS_LEFT (CCS_VERT|CCS_TOP)
29#define CCS_RIGHT (CCS_VERT|CCS_BOTTOM)
30#define CCS_NOMOVEX (CCS_VERT|CCS_NOMOVEY)
31
32
33/* common control shared messages */
34#define CCM_FIRST 0x2000
35
36#define CCM_SETBKCOLOR (CCM_FIRST+1) /* lParam = bkColor */
37#define CCM_SETCOLORSCHEME (CCM_FIRST+2)
38#define CCM_GETCOLORSCHEME (CCM_FIRST+3)
39#define CCM_GETDROPTARGET (CCM_FIRST+4)
40#define CCM_SETUNICODEFORMAT (CCM_FIRST+5)
41#define CCM_GETUNICODEFORMAT (CCM_FIRST+6)
42
43/* common notification codes (WM_NOTIFY)*/
44#define NM_FIRST (0U- 0U)
45#define NM_LAST (0U- 99U)
46#define NM_OUTOFMEMORY (NM_FIRST-1)
47#define NM_CLICK (NM_FIRST-2)
48#define NM_DBLCLK (NM_FIRST-3)
49#define NM_RETURN (NM_FIRST-4)
50#define NM_RCLICK (NM_FIRST-5)
51#define NM_RDBLCLK (NM_FIRST-6)
52#define NM_SETFOCUS (NM_FIRST-7)
53#define NM_KILLFOCUS (NM_FIRST-8)
54#define NM_CUSTOMDRAW (NM_FIRST-12)
55#define NM_HOVER (NM_FIRST-13)
56#define NM_NCHITTEST (NM_FIRST-14)
57#define NM_KEYDOWN (NM_FIRST-15)
58#define NM_RELEASEDCAPTURE (NM_FIRST-16)
59#define NM_SETCURSOR (NM_FIRST-17)
60#define NM_CHAR (NM_FIRST-18)
61#define NM_TOOLTIPSCREATED (NM_FIRST-19)
62#define NM_UPDOWN NMUPDOWN
63
64/* callback constants */
65#define LPSTR_TEXTCALLBACKA ((LPSTR)-1L)
66#define LPSTR_TEXTCALLBACKW ((LPWSTR)-1L)
67#define LPSTR_TEXTCALLBACK WINELIB_NAME_AW(LPSTR_TEXTCALLBACK)
68
69#define I_IMAGECALLBACK (-1)
70#define I_INDENTCALLBACK (-1)
71#define I_CHILDRENCALLBACK (-1)
72
73
74/* owner drawn types */
75#define ODT_HEADER 100
76#define ODT_TAB 101
77#define ODT_LISTVIEW 102
78
79/* common notification structures */
80typedef struct tagNMTOOLTIPSCREATED
81{
82 NMHDR hdr;
83 HWND hwndToolTips;
84} NMTOOLTIPSCREATED, *LPNMTOOLTIPSCREATED;
85
86
87#ifndef CCSIZEOF_STRUCT
88#define CCSIZEOF_STRUCT(name, member) \
89 (((INT)((LPBYTE)(&((name*)0)->member)-((LPBYTE)((name*)0))))+ \
90 sizeof(((name*)0)->member))
91#endif
92
93/* Custom Draw messages */
94
95#define CDRF_DODEFAULT 0x0
96#define CDRF_NEWFONT 0x00000002
97#define CDRF_SKIPDEFAULT 0x00000004
98#define CDRF_NOTIFYPOSTPAINT 0x00000010
99#define CDRF_NOTIFYITEMDRAW 0x00000020
100#define CDRF_NOTIFYSUBITEMDRAW 0x00000020
101#define CDRF_NOTIFYPOSTERASE 0x00000040
102/* #define CDRF_NOTIFYITEMERASE 0x00000080 obsolete ? */
103
104
105/* drawstage flags */
106
107#define CDDS_PREPAINT 1
108#define CDDS_POSTPAINT 2
109#define CDDS_PREERASE 3
110#define CDDS_POSTERASE 4
111
112#define CDDS_ITEM 0x00010000
113#define CDDS_ITEMPREPAINT (CDDS_ITEM | CDDS_PREPAINT)
114#define CDDS_ITEMPOSTPAINT (CDDS_ITEM | CDDS_POSTPAINT)
115#define CDDS_ITEMPREERASE (CDDS_ITEM | CDDS_PREERASE)
116#define CDDS_ITEMPOSTERASE (CDDS_ITEM | CDDS_POSTERASE)
117#define CDDS_SUBITEM 0x00020000
118
119/* itemState flags */
120
121#define CDIS_SELECTED 0x0001
122#define CDIS_GRAYED 0x0002
123#define CDIS_DISABLED 0x0004
124#define CDIS_CHECKED 0x0008
125#define CDIS_FOCUS 0x0010
126#define CDIS_DEFAULT 0x0020
127#define CDIS_HOT 0x0040
128#define CDIS_MARKED 0x0080
129#define CDIS_INDETERMINATE 0x0100
130
131
132typedef struct tagNMCUSTOMDRAWINFO
133{
134 NMHDR hdr;
135 DWORD dwDrawStage;
136 HDC hdc;
137 RECT rc;
138 DWORD dwItemSpec;
139 UINT uItemState;
140 LPARAM lItemlParam;
141} NMCUSTOMDRAW, *LPNMCUSTOMDRAW;
142
143typedef struct tagNMTTCUSTOMDRAW
144{
145 NMCUSTOMDRAW nmcd;
146 UINT uDrawFlags;
147} NMTTCUSTOMDRAW, *LPNMTTCUSTOMDRAW;
148
149
150
151/* ImageList */
152struct _IMAGELIST;
153typedef struct _IMAGELIST *HIMAGELIST;
154
155#define CLR_NONE 0xFFFFFFFF
156#define CLR_DEFAULT 0xFF000000
157#define CLR_HILIGHT CLR_DEFAULT
158
159#define ILC_MASK 0x0001
160#define ILC_COLOR 0x0000
161#define ILC_COLORDDB 0x00FE
162#define ILC_COLOR4 0x0004
163#define ILC_COLOR8 0x0008
164#define ILC_COLOR16 0x0010
165#define ILC_COLOR24 0x0018
166#define ILC_COLOR32 0x0020
167#define ILC_PALETTE 0x0800 /* no longer supported by M$ */
168
169#define ILD_NORMAL 0x0000
170#define ILD_TRANSPARENT 0x0001
171#define ILD_BLEND25 0x0002
172#define ILD_BLEND50 0x0004
173#define ILD_MASK 0x0010
174#define ILD_IMAGE 0x0020
175#define ILD_ROP 0x0040
176#define ILD_OVERLAYMASK 0x0F00
177
178#define ILD_SELECTED ILD_BLEND50
179#define ILD_FOCUS ILD_BLEND25
180#define ILD_BLEND ILD_BLEND50
181
182#define INDEXTOOVERLAYMASK(i) ((i)<<8)
183
184#define ILCF_MOVE (0x00000000)
185#define ILCF_SWAP (0x00000001)
186
187
188typedef struct _IMAGEINFO
189{
190 HBITMAP hbmImage;
191 HBITMAP hbmMask;
192 INT Unused1;
193 INT Unused2;
194 RECT rcImage;
195} IMAGEINFO;
196
197
198typedef struct _IMAGELISTDRAWPARAMS
199{
200 DWORD cbSize;
201 HIMAGELIST himl;
202 INT i;
203 HDC hdcDst;
204 INT x;
205 INT y;
206 INT cx;
207 INT cy;
208 INT xBitmap; /* x offest from the upperleft of bitmap */
209 INT yBitmap; /* y offset from the upperleft of bitmap */
210 COLORREF rgbBk;
211 COLORREF rgbFg;
212 UINT fStyle;
213 DWORD dwRop;
214} IMAGELISTDRAWPARAMS, *LPIMAGELISTDRAWPARAMS;
215
216
217INT WINAPI ImageList_Add(HIMAGELIST,HBITMAP,HBITMAP);
218INT WINAPI ImageList_AddIcon (HIMAGELIST, HICON);
219INT WINAPI ImageList_AddMasked(HIMAGELIST,HBITMAP,COLORREF);
220BOOL WINAPI ImageList_BeginDrag(HIMAGELIST,INT,INT,INT);
221BOOL WINAPI ImageList_Copy(HIMAGELIST,INT,HIMAGELIST,INT,INT);
222HIMAGELIST WINAPI ImageList_Create(INT,INT,UINT,INT,INT);
223BOOL WINAPI ImageList_Destroy(HIMAGELIST);
224BOOL WINAPI ImageList_DragEnter(HWND,INT,INT);
225BOOL WINAPI ImageList_DragLeave(HWND);
226BOOL WINAPI ImageList_DragMove(INT,INT);
227BOOL WINAPI ImageList_DragShowNolock (BOOL);
228BOOL WINAPI ImageList_Draw(HIMAGELIST,INT,HDC,INT,INT,UINT);
229BOOL WINAPI ImageList_DrawEx(HIMAGELIST,INT,HDC,INT,INT,INT,
230 INT,COLORREF,COLORREF,UINT);
231BOOL WINAPI ImageList_DrawIndirect(IMAGELISTDRAWPARAMS*);
232HIMAGELIST WINAPI ImageList_Duplicate(HIMAGELIST);
233BOOL WINAPI ImageList_EndDrag(VOID);
234COLORREF WINAPI ImageList_GetBkColor(HIMAGELIST);
235HIMAGELIST WINAPI ImageList_GetDragImage(POINT*,POINT*);
236HICON WINAPI ImageList_GetIcon(HIMAGELIST,INT,UINT);
237BOOL WINAPI ImageList_GetIconSize(HIMAGELIST,INT*,INT*);
238INT WINAPI ImageList_GetImageCount(HIMAGELIST);
239BOOL WINAPI ImageList_GetImageInfo(HIMAGELIST,INT,IMAGEINFO*);
240BOOL WINAPI ImageList_GetImageRect(HIMAGELIST,INT,LPRECT);
241HIMAGELIST WINAPI ImageList_LoadImageA(HINSTANCE,LPCSTR,INT,INT,
242 COLORREF,UINT,UINT);
243HIMAGELIST WINAPI ImageList_LoadImageW(HINSTANCE,LPCWSTR,INT,INT,
244 COLORREF,UINT,UINT);
245#define ImageList_LoadImage WINELIB_NAME_AW(ImageList_LoadImage)
246HIMAGELIST WINAPI ImageList_Merge(HIMAGELIST,INT,HIMAGELIST,INT,INT,INT);
247#ifdef __IStream_INTREFACE_DEFINED__
248HIMAGELIST WINAPI ImageList_Read(LPSTREAM);
249#endif
250BOOL WINAPI ImageList_Remove(HIMAGELIST,INT);
251BOOL WINAPI ImageList_Replace(HIMAGELIST,INT,HBITMAP,HBITMAP);
252INT WINAPI ImageList_ReplaceIcon(HIMAGELIST,INT,HICON);
253COLORREF WINAPI ImageList_SetBkColor(HIMAGELIST,COLORREF);
254BOOL WINAPI ImageList_SetDragCursorImage(HIMAGELIST,INT,INT,INT);
255
256BOOL WINAPI ImageList_SetIconSize(HIMAGELIST,INT,INT);
257BOOL WINAPI ImageList_SetImageCount(HIMAGELIST,INT);
258BOOL WINAPI ImageList_SetOverlayImage(HIMAGELIST,INT,INT);
259//BOOL WINAPI ImageList_Write(HIMAGELIST, LPSTREAM);
260
261#define ImageList_ExtractIcon(hi,himl,i) ImageList_GetIcon(himl,i,0)
262#define ImageList_LoadBitmap(hi,lpbmp,cx,cGrow,crMask) \
263 ImageList_LoadImage(hi,lpbmp,cx,cGrow,crMask,IMAGE_BITMAP,0)
264#define ImageList_RemoveAll(himl) ImageList_Remove(himl,-1)
265
266
267
268
269/* PROGRESS BAR CONTROL */
270
271#define PROGRESS_CLASSA "msctls_progress32"
272#define PROGRESS_CLASSW L"msctls_progress32"
273#define PROGRESS_CLASS WINELIB_NAME_AW(PROGRESS_CLASS)
274
275#define PBM_SETRANGE (WM_USER+1)
276#define PBM_SETPOS (WM_USER+2)
277#define PBM_DELTAPOS (WM_USER+3)
278#define PBM_SETSTEP (WM_USER+4)
279#define PBM_STEPIT (WM_USER+5)
280#define PBM_SETRANGE32 (WM_USER+6)
281#define PBM_GETRANGE (WM_USER+7)
282#define PBM_GETPOS (WM_USER+8)
283#define PBM_SETBARCOLOR (WM_USER+9)
284#define PBM_SETBKCOLOR CCM_SETBKCOLOR
285
286#define PBS_SMOOTH 0x01
287#define PBS_VERTICAL 0x04
288
289typedef struct
290{
291 INT iLow;
292 INT iHigh;
293} PBRANGE, *PPBRANGE;
294
295
296/* StatusWindow */
297
298#define STATUSCLASSNAME16 "msctls_statusbar"
299#define STATUSCLASSNAMEA "msctls_statusbar32"
300/* Does not work. gcc creates 4 byte wide strings.
301 * #define STATUSCLASSNAME32W L"msctls_statusbar32"
302 */
303static const WCHAR _scn32w[] = {
304'm','s','c','t','l','s','_','s','t','a','t','u','s','b','a','r','3','2',0
305};
306#define STATUSCLASSNAMEW _scn32w
307#define STATUSCLASSNAME WINELIB_NAME_AW(STATUSCLASSNAME)
308
309#define SBT_NOBORDERS 0x0100
310#define SBT_POPOUT 0x0200
311#define SBT_RTLREADING 0x0400 /* not supported */
312#define SBT_TOOLTIPS 0x0800
313#define SBT_OWNERDRAW 0x1000
314
315#define SBARS_SIZEGRIP 0x0100
316
317#define SB_SETTEXTA (WM_USER+1)
318#define SB_SETTEXTW (WM_USER+11)
319#define SB_SETTEXT WINELIB_NAME_AW(SB_SETTEXT)
320#define SB_GETTEXTA (WM_USER+2)
321#define SB_GETTEXTW (WM_USER+13)
322#define SB_GETTEXT WINELIB_NAME_AW(SB_GETTEXT)
323#define SB_GETTEXTLENGTHA (WM_USER+3)
324#define SB_GETTEXTLENGTHW (WM_USER+12)
325#define SB_GETTEXTLENGTH WINELIB_NAME_AW(SB_GETTEXTLENGTH)
326#define SB_SETPARTS (WM_USER+4)
327#define SB_GETPARTS (WM_USER+6)
328#define SB_GETBORDERS (WM_USER+7)
329#define SB_SETMINHEIGHT (WM_USER+8)
330#define SB_SIMPLE (WM_USER+9)
331#define SB_GETRECT (WM_USER+10)
332#define SB_ISSIMPLE (WM_USER+14)
333#define SB_SETICON (WM_USER+15)
334#define SB_SETTIPTEXTA (WM_USER+16)
335#define SB_SETTIPTEXTW (WM_USER+17)
336#define SB_SETTIPTEXT WINELIB_NAME_AW(SB_SETTIPTEXT)
337#define SB_GETTIPTEXTA (WM_USER+18)
338#define SB_GETTIPTEXTW (WM_USER+19)
339#define SB_GETTIPTEXT WINELIB_NAME_AW(SB_GETTIPTEXT)
340#define SB_GETICON (WM_USER+20)
341#define SB_SETBKCOLOR CCM_SETBKCOLOR /* lParam = bkColor */
342#define SB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
343#define SB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
344
345#define SBN_FIRST (0U-880U)
346#define SBN_LAST (0U-899U)
347#define SBN_SIMPLEMODECHANGE (SBN_FIRST-0)
348
349HWND WINAPI CreateStatusWindowA (INT, LPCSTR, HWND, UINT);
350HWND WINAPI CreateStatusWindowW (INT, LPCWSTR, HWND, UINT);
351#define CreateStatusWindow WINELIB_NAME_AW(CreateStatusWindow)
352VOID WINAPI DrawStatusTextA (HDC, LPRECT, LPCSTR, UINT);
353VOID WINAPI DrawStatusTextW (HDC, LPRECT, LPCWSTR, UINT);
354#define DrawStatusText WINELIB_NAME_AW(DrawStatusText)
355VOID WINAPI MenuHelp (UINT, WPARAM, LPARAM, HMENU,
356 HINSTANCE, HWND, LPUINT);
357
358
359/* Toolbar */
360
361#define TOOLBARCLASSNAME16 "ToolbarWindow"
362#define TOOLBARCLASSNAMEW "ToolbarWindow32"
363#define TOOLBARCLASSNAMEA "ToolbarWindow32"
364#define TOOLBARCLASSNAME WINELIB_NAME_AW(TOOLBARCLASSNAME)
365
366#define CMB_MASKED 0x02
367
368#define TBSTATE_CHECKED 0x01
369#define TBSTATE_PRESSED 0x02
370#define TBSTATE_ENABLED 0x04
371#define TBSTATE_HIDDEN 0x08
372#define TBSTATE_INDETERMINATE 0x10
373#define TBSTATE_WRAP 0x20
374#define TBSTATE_ELLIPSES 0x40
375#define TBSTATE_MARKED 0x80
376
377#define TBSTYLE_BUTTON 0x00
378#define TBSTYLE_SEP 0x01
379#define TBSTYLE_CHECK 0x02
380#define TBSTYLE_GROUP 0x04
381#define TBSTYLE_CHECKGROUP (TBSTYLE_GROUP | TBSTYLE_CHECK)
382#define TBSTYLE_DROPDOWN 0x08
383
384#define TBSTYLE_TOOLTIPS 0x0100
385#define TBSTYLE_WRAPABLE 0x0200
386#define TBSTYLE_ALTDRAG 0x0400
387#define TBSTYLE_FLAT 0x0800
388#define TBSTYLE_LIST 0x1000
389#define TBSTYLE_CUSTOMERASE 0x2000
390
391#define TBIF_IMAGE 0x00000001
392#define TBIF_TEXT 0x00000002
393#define TBIF_STATE 0x00000004
394#define TBIF_STYLE 0x00000008
395#define TBIF_LPARAM 0x00000010
396#define TBIF_COMMAND 0x00000020
397#define TBIF_SIZE 0x00000040
398
399#define TBBF_LARGE 0x0001
400
401#define TB_ENABLEBUTTON (WM_USER+1)
402#define TB_CHECKBUTTON (WM_USER+2)
403#define TB_PRESSBUTTON (WM_USER+3)
404#define TB_HIDEBUTTON (WM_USER+4)
405#define TB_INDETERMINATE (WM_USER+5)
406#define TB_ISBUTTONENABLED (WM_USER+9)
407#define TB_ISBUTTONCHECKED (WM_USER+10)
408#define TB_ISBUTTONPRESSED (WM_USER+11)
409#define TB_ISBUTTONHIDDEN (WM_USER+12)
410#define TB_ISBUTTONINDETERMINATE (WM_USER+13)
411#define TB_ISBUTTONHIGHLIGHTED (WM_USER+14)
412#define TB_SETSTATE (WM_USER+17)
413#define TB_GETSTATE (WM_USER+18)
414#define TB_ADDBITMAP (WM_USER+19)
415#define TB_ADDBUTTONSA (WM_USER+20)
416#define TB_ADDBUTTONSW (WM_USER+68)
417#define TB_ADDBUTTONS WINELIB_NAME_AW(TB_ADDBUTTONS)
418#define TB_HITTEST (WM_USER+69)
419#define TB_INSERTBUTTONA (WM_USER+21)
420#define TB_INSERTBUTTONW (WM_USER+67)
421#define TB_INSERTBUTTON WINELIB_NAME_AW(TB_INSERTBUTTON)
422#define TB_DELETEBUTTON (WM_USER+22)
423#define TB_GETBUTTON (WM_USER+23)
424#define TB_BUTTONCOUNT (WM_USER+24)
425#define TB_COMMANDTOINDEX (WM_USER+25)
426#define TB_SAVERESTOREA (WM_USER+26)
427#define TB_SAVERESTOREW (WM_USER+76)
428#define TB_SAVERESTORE WINELIB_NAME_AW(TB_SAVERESTORE)
429#define TB_CUSTOMIZE (WM_USER+27)
430#define TB_ADDSTRINGA (WM_USER+28)
431#define TB_ADDSTRINGW (WM_USER+77)
432#define TB_ADDSTRING WINELIB_NAME_AW(TB_ADDSTRING)
433#define TB_GETITEMRECT (WM_USER+29)
434#define TB_BUTTONSTRUCTSIZE (WM_USER+30)
435#define TB_SETBUTTONSIZE (WM_USER+31)
436#define TB_SETBITMAPSIZE (WM_USER+32)
437#define TB_AUTOSIZE (WM_USER+33)
438#define TB_GETTOOLTIPS (WM_USER+35)
439#define TB_SETTOOLTIPS (WM_USER+36)
440#define TB_SETPARENT (WM_USER+37)
441#define TB_SETROWS (WM_USER+39)
442#define TB_GETROWS (WM_USER+40)
443#define TB_GETBITMAPFLAGS (WM_USER+41)
444#define TB_SETCMDID (WM_USER+42)
445#define TB_CHANGEBITMAP (WM_USER+43)
446#define TB_GETBITMAP (WM_USER+44)
447#define TB_GETBUTTONTEXTA (WM_USER+45)
448#define TB_GETBUTTONTEXTW (WM_USER+75)
449#define TB_GETBUTTONTEXT WINELIB_NAME_AW(TB_GETBUTTONTEXT)
450#define TB_REPLACEBITMAP (WM_USER+46)
451#define TB_SETINDENT (WM_USER+47)
452#define TB_SETIMAGELIST (WM_USER+48)
453#define TB_GETIMAGELIST (WM_USER+49)
454#define TB_LOADIMAGES (WM_USER+50)
455#define TB_GETRECT (WM_USER+51) /* wParam is the Cmd instead of index */
456#define TB_SETHOTIMAGELIST (WM_USER+52)
457#define TB_GETHOTIMAGELIST (WM_USER+53)
458#define TB_SETDISABLEDIMAGELIST (WM_USER+54)
459#define TB_GETDISABLEDIMAGELIST (WM_USER+55)
460#define TB_SETSTYLE (WM_USER+56)
461#define TB_GETSTYLE (WM_USER+57)
462#define TB_GETBUTTONSIZE (WM_USER+58)
463#define TB_SETBUTTONWIDTH (WM_USER+59)
464#define TB_SETMAXTEXTROWS (WM_USER+60)
465#define TB_GETTEXTROWS (WM_USER+61)
466#define TB_GETOBJECT (WM_USER+62)
467#define TB_GETBUTTONINFOW (WM_USER+63)
468#define TB_GETBUTTONINFOA (WM_USER+65)
469#define TB_GETBUTTONINFO WINELIB_NAME_AW(TB_GETBUTTONINFO)
470#define TB_SETBUTTONINFOW (WM_USER+64)
471#define TB_SETBUTTONINFOA (WM_USER+66)
472#define TB_SETBUTTONINFO WINELIB_NAME_AW(TB_SETBUTTONINFO)
473#define TB_SETDRAWTEXTFLAGS (WM_USER+70)
474#define TB_GETHOTITEM (WM_USER+71)
475#define TB_SETHOTITEM (WM_USER+72)
476#define TB_SETANCHORHIGHLIGHT (WM_USER+73)
477#define TB_GETANCHORHIGHLIGHT (WM_USER+74)
478#define TB_MAPACCELERATORA (WM_USER+78)
479#define TB_MAPACCELERATORW (WM_USER+90)
480#define TB_MAPACCELERATOR WINELIB_NAME_AW(TB_MAPACCELERATOR)
481#define TB_GETINSERTMARK (WM_USER+79)
482#define TB_SETINSERTMARK (WM_USER+80)
483#define TB_INSERTMARKHITTEST (WM_USER+81)
484#define TB_MOVEBUTTON (WM_USER+82)
485#define TB_GETMAXSIZE (WM_USER+83)
486#define TB_SETEXTENDEDSTYLE (WM_USER+84)
487#define TB_GETEXTENDEDSTYLE (WM_USER+85)
488#define TB_GETPADDING (WM_USER+86)
489#define TB_SETPADDING (WM_USER+87)
490#define TB_SETINSERTMARKCOLOR (WM_USER+88)
491#define TB_GETINSERTMARKCOLOR (WM_USER+89)
492#define TB_SETCOLORSCHEME CCM_SETCOLORSCHEME
493#define TB_GETCOLORSCHEME CCM_GETCOLORSCHEME
494#define TB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
495#define TB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
496
497#define TBN_FIRST (0U-700U)
498#define TBN_LAST (0U-720U)
499#define TBN_GETBUTTONINFOA (TBN_FIRST-0)
500#define TBN_GETBUTTONINFOW (TBN_FIRST-20)
501#define TBN_GETBUTTONINFO WINELIB_NAME_AW(TBN_GETBUTTONINFO)
502#define TBN_GETINFOTIPA (TBN_FIRST-18)
503#define TBN_GETINFOTIPW (TBN_FIRST-19)
504#define TBN_GETINFOTIP WINELIB_NAME_AW(TBN_GETINFOTIP)
505
506
507/* This is just for old CreateToolbar. */
508/* Don't use it in new programs. */
509typedef struct _OLDTBBUTTON {
510 INT iBitmap;
511 INT idCommand;
512 BYTE fsState;
513 BYTE fsStyle;
514 BYTE bReserved[2];
515 DWORD dwData;
516} OLDTBBUTTON, *POLDTBBUTTON, *LPOLDTBBUTTON;
517typedef const OLDTBBUTTON *LPCOLDTBBUTTON;
518
519
520typedef struct _TBBUTTON {
521 INT iBitmap;
522 INT idCommand;
523 BYTE fsState;
524 BYTE fsStyle;
525 BYTE bReserved[2];
526 DWORD dwData;
527 INT iString;
528} TBBUTTON, *PTBBUTTON, *LPTBBUTTON;
529typedef const TBBUTTON *LPCTBBUTTON;
530
531
532typedef struct _COLORMAP {
533 COLORREF from;
534 COLORREF to;
535} COLORMAP, *LPCOLORMAP;
536
537typedef struct tagTBADDBITMAP {
538 HINSTANCE hInst;
539 UINT nID;
540} TBADDBITMAP, *LPTBADDBITMAP;
541
542#define HINST_COMMCTRL ((HINSTANCE)-1)
543#define IDB_STD_SMALL_COLOR 0
544#define IDB_STD_LARGE_COLOR 1
545#define IDB_VIEW_SMALL_COLOR 4
546#define IDB_VIEW_LARGE_COLOR 5
547#define IDB_HIST_SMALL_COLOR 8
548#define IDB_HIST_LARGE_COLOR 9
549
550#define STD_CUT 0
551#define STD_COPY 1
552#define STD_PASTE 2
553#define STD_UNDO 3
554#define STD_REDOW 4
555#define STD_DELETE 5
556#define STD_FILENEW 6
557#define STD_FILEOPEN 7
558#define STD_FILESAVE 8
559#define STD_PRINTPRE 9
560#define STD_PROPERTIES 10
561#define STD_HELP 11
562#define STD_FIND 12
563#define STD_REPLACE 13
564#define STD_PRINT 14
565
566#define VIEW_LARGEICONS 0
567#define VIEW_SMALLICONS 1
568#define VIEW_LIST 2
569#define VIEW_DETAILS 3
570#define VIEW_SORTNAME 4
571#define VIEW_SORTSIZE 5
572#define VIEW_SORTDATE 6
573#define VIEW_SORTTYPE 7
574#define VIEW_PARENTFOLDER 8
575#define VIEW_NETCONNECT 9
576#define VIEW_NETDISCONNECT 10
577#define VIEW_NEWFOLDER 11
578
579typedef struct tagTBSAVEPARAMSA {
580 HKEY hkr;
581 LPCSTR pszSubKey;
582 LPCSTR pszValueName;
583} TBSAVEPARAMSA, *LPTBSAVEPARAMSA;
584
585typedef struct tagTBSAVEPARAMSW {
586 HKEY hkr;
587 LPCWSTR pszSubKey;
588 LPCWSTR pszValueName;
589} TBSAVEPARAMSAW, *LPTBSAVEPARAMSAW;
590
591#define TBSAVEPARAMS WINELIB_NAME_AW(TBSAVEPARAMS)
592#define LPTBSAVEPARAMS WINELIB_NAME_AW(LPTBSAVEPARAMS)
593
594typedef struct
595{
596 UINT cbSize;
597 DWORD dwMask;
598 INT idCommand;
599 INT iImage;
600 BYTE fsState;
601 BYTE fsStyle;
602 WORD cx;
603 DWORD lParam;
604 LPSTR pszText;
605 INT cchText;
606} TBBUTTONINFOA, *LPTBBUTTONINFOA;
607
608typedef struct
609{
610 UINT cbSize;
611 DWORD dwMask;
612 INT idCommand;
613 INT iImage;
614 BYTE fsState;
615 BYTE fsStyle;
616 WORD cx;
617 DWORD lParam;
618 LPWSTR pszText;
619 INT cchText;
620} TBBUTTONINFOW, *LPTBBUTTONINFOW;
621
622#define TBBUTTONINFO WINELIB_NAME_AW(TBBUTTONINFO)
623#define LPTBBUTTONINFO WINELIB_NAME_AW(LPTBBUTTONINFO)
624
625typedef struct tagNMTBGETINFOTIPA
626{
627 NMHDR hdr;
628 LPSTR pszText;
629 INT cchTextMax;
630 INT iItem;
631 LPARAM lParam;
632} NMTBGETINFOTIPA, *LPNMTBGETINFOTIPA;
633
634typedef struct tagNMTBGETINFOTIPW
635{
636 NMHDR hdr;
637 LPWSTR pszText;
638 INT cchTextMax;
639 INT iItem;
640 LPARAM lParam;
641} NMTBGETINFOTIPW, *LPNMTBGETINFOTIPW;
642
643#define NMTBGETINFOTIP WINELIB_NAME_AW(NMTBGETINFOFTIP)
644#define LPNMTBGETINFOTIP WINELIB_NAME_AW(LPNMTBGETINFOTIP)
645
646typedef struct
647{
648 HINSTANCE hInstOld;
649 UINT nIDOld;
650 HINSTANCE hInstNew;
651 UINT nIDNew;
652 INT nButtons;
653} TBREPLACEBITMAP, *LPTBREPLACEBITMAP;
654
655HWND WINAPI
656CreateToolbar(HWND, DWORD, UINT, INT, HINSTANCE,
657 UINT, LPCOLDTBBUTTON, INT);
658
659HWND WINAPI
660CreateToolbarEx(HWND, DWORD, UINT, INT,
661 HINSTANCE, UINT, LPCTBBUTTON,
662 INT, INT, INT, INT, INT, UINT);
663
664HBITMAP WINAPI
665CreateMappedBitmap (HINSTANCE, INT, UINT, LPCOLORMAP, INT);
666
667
668
669/* Tool tips */
670
671#define TOOLTIPS_CLASS16 "tooltips_class"
672#define TOOLTIPS_CLASSA "tooltips_class32"
673#define TOOLTIPS_CLASS32W L"tooltips_class32"
674#define TOOLTIPS_CLASS WINELIB_NAME_AW(TOOLTIPS_CLASS)
675
676#define INFOTIPSIZE 1024
677
678#define TTS_ALWAYSTIP 0x01
679#define TTS_NOPREFIX 0x02
680
681#define TTF_IDISHWND 0x0001
682#define TTF_CENTERTIP 0x0002
683#define TTF_RTLREADING 0x0004
684#define TTF_SUBCLASS 0x0010
685#define TTF_TRACK 0x0020
686#define TTF_ABSOLUTE 0x0080
687#define TTF_TRANSPARENT 0x0100
688#define TTF_DI_SETITEM 0x8000 /* valid only on the TTN_NEEDTEXT callback */
689
690
691#define TTDT_AUTOMATIC 0
692#define TTDT_RESHOW 1
693#define TTDT_AUTOPOP 2
694#define TTDT_INITIAL 3
695
696
697#define TTM_ACTIVATE (WM_USER+1)
698#define TTM_SETDELAYTIME (WM_USER+3)
699#define TTM_ADDTOOLA (WM_USER+4)
700#define TTM_ADDTOOLW (WM_USER+50)
701#define TTM_ADDTOOL WINELIB_NAME_AW(TTM_ADDTOOL)
702#define TTM_DELTOOLA (WM_USER+5)
703#define TTM_DELTOOLW (WM_USER+51)
704#define TTM_DELTOOL WINELIB_NAME_AW(TTM_DELTOOL)
705#define TTM_NEWTOOLRECTA (WM_USER+6)
706#define TTM_NEWTOOLRECTW (WM_USER+52)
707#define TTM_NEWTOOLRECT WINELIB_NAME_AW(TTM_NEWTOOLRECT)
708#define TTM_RELAYEVENT (WM_USER+7)
709#define TTM_GETTOOLINFOA (WM_USER+8)
710#define TTM_GETTOOLINFOW (WM_USER+53)
711#define TTM_GETTOOLINFO WINELIB_NAME_AW(TTM_GETTOOLINFO)
712#define TTM_SETTOOLINFOA (WM_USER+9)
713#define TTM_SETTOOLINFOW (WM_USER+54)
714#define TTM_SETTOOLINFO WINELIB_NAME_AW(TTM_SETTOOLINFO)
715#define TTM_HITTESTA (WM_USER+10)
716#define TTM_HITTESTW (WM_USER+55)
717#define TTM_HITTEST WINELIB_NAME_AW(TTM_HITTEST)
718#define TTM_GETTEXTA (WM_USER+11)
719#define TTM_GETTEXTW (WM_USER+56)
720#define TTM_GETTEXT WINELIB_NAME_AW(TTM_GETTEXT)
721#define TTM_UPDATETIPTEXTA (WM_USER+12)
722#define TTM_UPDATETIPTEXTW (WM_USER+57)
723#define TTM_UPDATETIPTEXT WINELIB_NAME_AW(TTM_UPDATETIPTEXT)
724#define TTM_GETTOOLCOUNT (WM_USER+13)
725#define TTM_ENUMTOOLSA (WM_USER+14)
726#define TTM_ENUMTOOLSW (WM_USER+58)
727#define TTM_ENUMTOOLS WINELIB_NAME_AW(TTM_ENUMTOOLS)
728#define TTM_GETCURRENTTOOLA (WM_USER+15)
729#define TTM_GETCURRENTTOOLW (WM_USER+59)
730#define TTM_GETCURRENTTOOL WINELIB_NAME_AW(TTM_GETCURRENTTOOL)
731#define TTM_WINDOWFROMPOINT (WM_USER+16)
732#define TTM_TRACKACTIVATE (WM_USER+17)
733#define TTM_TRACKPOSITION (WM_USER+18)
734#define TTM_SETTIPBKCOLOR (WM_USER+19)
735#define TTM_SETTIPTEXTCOLOR (WM_USER+20)
736#define TTM_GETDELAYTIME (WM_USER+21)
737#define TTM_GETTIPBKCOLOR (WM_USER+22)
738#define TTM_GETTIPTEXTCOLOR (WM_USER+23)
739#define TTM_SETMAXTIPWIDTH (WM_USER+24)
740#define TTM_GETMAXTIPWIDTH (WM_USER+25)
741#define TTM_SETMARGIN (WM_USER+26)
742#define TTM_GETMARGIN (WM_USER+27)
743#define TTM_POP (WM_USER+28)
744#define TTM_UPDATE (WM_USER+29)
745
746
747#define TTN_FIRST (0U-520U)
748#define TTN_LAST (0U-549U)
749#define TTN_GETDISPINFOA (TTN_FIRST-0)
750#define TTN_GETDISPINFOW (TTN_FIRST-10)
751#define TTN_GETDISPINFO WINELIB_NAME_AW(TTN_GETDISPINFO)
752#define TTN_SHOW (TTN_FIRST-1)
753#define TTN_POP (TTN_FIRST-2)
754
755#define TTN_NEEDTEXT TTN_GETDISPINFO
756#define TTN_NEEDTEXTA TTN_GETDISPINFOA
757#define TTN_NEEDTEXTW TTN_GETDISPINFOW
758
759typedef struct tagTOOLINFOA {
760 UINT cbSize;
761 UINT uFlags;
762 HWND hwnd;
763 UINT uId;
764 RECT rect;
765 HINSTANCE hinst;
766 LPSTR lpszText;
767 LPARAM lParam;
768} TTTOOLINFOA, *LPTOOLINFOA, *PTOOLINFOA, *LPTTTOOLINFOA;
769
770typedef struct tagTOOLINFOW {
771 UINT cbSize;
772 UINT uFlags;
773 HWND hwnd;
774 UINT uId;
775 RECT rect;
776 HINSTANCE hinst;
777 LPWSTR lpszText;
778 LPARAM lParam;
779} TTTOOLINFOW, *LPTOOLINFOW, *PTOOLINFOW, *LPTTTOOLINFOW;
780
781#define TTTOOLINFO WINELIB_NAME_AW(TTTOOLINFO)
782#define TOOLINFO WINELIB_NAME_AW(TTTOOLINFO)
783#define PTOOLINFO WINELIB_NAME_AW(PTOOLINFO)
784#define LPTTTOOLINFO WINELIB_NAME_AW(LPTTTOOLINFO)
785#define LPTOOLINFO WINELIB_NAME_AW(LPTOOLINFO)
786
787#define TTTOOLINFO_V1_SIZEA CCSIZEOF_STRUCT(TTTOOLINFOA, lpszText)
788#define TTTOOLINFO_V1_SIZEW CCSIZEOF_STRUCT(TTTOOLINFOW, lpszText)
789#define TTTOOLINFO_V1_SIZE WINELIB_NAME_AW(TTTOOLINFO_V1_SIZE)
790
791typedef struct _TT_HITTESTINFOA
792{
793 HWND hwnd;
794 POINT pt;
795 TTTOOLINFOA ti;
796} TTHITTESTINFOA, *LPTTHITTESTINFOA;
797
798typedef struct _TT_HITTESTINFOW
799{
800 HWND hwnd;
801 POINT pt;
802 TTTOOLINFOW ti;
803} TTHITTESTINFOW, *LPTTHITTESTINFOW;
804
805#define TTHITTESTINFO WINELIB_NAME_AW(TTHITTESTINFO)
806#define LPTTHITTESTINFO WINELIB_NAME_AW(LPTTHITTESTINFO)
807
808typedef struct tagNMTTDISPINFOA
809{
810 NMHDR hdr;
811 LPSTR lpszText;
812 CHAR szText[80];
813 HINSTANCE hinst;
814 UINT uFlags;
815 LPARAM lParam;
816} NMTTDISPINFOA, *LPNMTTDISPINFOA;
817
818typedef struct tagNMTTDISPINFOW
819{
820 NMHDR hdr;
821 LPWSTR lpszText;
822 WCHAR szText[80];
823 HINSTANCE hinst;
824 UINT uFlags;
825 LPARAM lParam;
826} NMTTDISPINFOW, *LPNMTTDISPINFOW;
827
828#define NMTTDISPINFO WINELIB_NAME_AW(NMTTDISPINFO)
829#define LPNMTTDISPINFO WINELIB_NAME_AW(LPNMTTDISPINFO)
830
831#define NMTTDISPINFO_V1_SIZEA CCSIZEOF_STRUCT(NMTTDISPINFOA, uFlags)
832#define NMTTDISPINFO_V1_SIZEW CCSIZEOF_STRUCT(NMTTDISPINFOW, uFlags)
833#define NMTTDISPINFO_V1_SIZE WINELIB_NAME_AW(NMTTDISPINFO_V1_SIZE)
834
835#define TOOLTIPTEXTW NMTTDISPINFOW
836#define TOOLTIPTEXTA NMTTDISPINFOA
837#define TOOLTIPTEXT NMTTDISPINFO
838#define LPTOOLTIPTEXTW LPNMTTDISPINFOW
839#define LPTOOLTIPTEXTA LPNMTTDISPINFOA
840#define LPTOOLTIPTEXT LPNMTTDISPINFO
841
842
843
844
845
846#endif /* _H_COMMCTRL */
Note: See TracBrowser for help on using the repository browser.