xref: /reactos/sdk/include/psdk/commctrl.rh (revision 9b69ef36)
1/*
2 * Copyright (C) 2008 Vijay Kiran Kamuju
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19/* Macro to deal with LP64 <=> LLP64 differences in numeric constants with 'l' modifier */
20#ifndef __MSABI_LONG
21# if defined(_MSC_VER) || defined(__MINGW32__) || defined(__CYGWIN__)
22#  define __MSABI_LONG(x)         x ## l
23# else
24#  define __MSABI_LONG(x)         x
25# endif
26#endif
27
28/* Header Control */
29#define HDS_HORZ            0x0000
30#define HDS_BUTTONS         0x0002
31#define HDS_HOTTRACK        0x0004
32#define HDS_HIDDEN          0x0008
33#define HDS_DRAGDROP        0x0040
34#define HDS_FULLDRAG        0x0080
35#define HDS_FILTERBAR       0x0100
36#define HDS_FLAT            0x0200
37#define HDS_CHECKBOXES      0x0400
38#define HDS_NOSIZING        0x0800
39#define HDS_OVERFLOW        0x1000
40
41/* Rebar Control */
42#define RBS_TOOLTIPS        0x0100
43#define RBS_VARHEIGHT       0x0200
44#define RBS_BANDBORDERS     0x0400
45#define RBS_FIXEDORDER      0x0800
46#define RBS_REGISTERDROP    0x1000
47#define RBS_AUTOSIZE        0x2000
48#define RBS_VERTICALGRIPPER 0x4000
49#define RBS_DBLCLKTOGGLE    0x8000
50
51/* Tool tips */
52#define TTS_ALWAYSTIP       0x01
53#define TTS_NOPREFIX        0x02
54#define TTS_NOANIMATE       0x10
55#define TTS_NOFADE          0x20
56#define TTS_BALLOON         0x40
57#define TTS_CLOSE           0x80
58#define TTS_USEVISUALSTYLE  0x100
59
60/* Statusbar Control */
61#define SBARS_SIZEGRIP      0x0100
62#define SBARS_TOOLTIPS      0x0800
63#define SBT_TOOLTIPS        0x0800
64
65/* Toolbar Control */
66#define TBS_AUTOTICKS       0x0001
67#define TBS_VERT            0x0002
68#define TBS_HORZ            0x0000
69#define TBS_TOP             0x0004
70#define TBS_BOTTOM          0x0000
71#define TBS_LEFT            0x0004
72#define TBS_RIGHT           0x0000
73#define TBS_BOTH            0x0008
74#define TBS_NOTICKS         0x0010
75#define TBS_ENABLESELRANGE  0x0020
76#define TBS_FIXEDLENGTH     0x0040
77#define TBS_NOTHUMB         0x0080
78#define TBS_TOOLTIPS        0x0100
79#define TBS_REVERSED        0x0200
80#define TBS_DOWNISLEFT      0x0400
81#define TBS_NOTIFYBEFOREREMOVE 0x0800
82#define TBS_TRANSPARENTBKGND 0x1000
83
84/* UpDown Control */
85#define UDS_WRAP            0x0001
86#define UDS_SETBUDDYINT     0x0002
87#define UDS_ALIGNRIGHT      0x0004
88#define UDS_ALIGNLEFT       0x0008
89#define UDS_AUTOBUDDY       0x0010
90#define UDS_ARROWKEYS       0x0020
91#define UDS_HORZ            0x0040
92#define UDS_NOTHOUSANDS     0x0080
93#define UDS_HOTTRACK        0x0100
94
95/* Progressbar Control */
96#define PBS_SMOOTH          0x01
97#define PBS_VERTICAL        0x04
98#define PBS_MARQUEE         0x08
99#define PBS_SMOOTHREVERSE   0x10
100
101/* Common Control Styles */
102#define CCS_TOP             __MSABI_LONG(0x00000001)
103#define CCS_NOMOVEY         __MSABI_LONG(0x00000002)
104#define CCS_BOTTOM          __MSABI_LONG(0x00000003)
105#define CCS_NORESIZE        __MSABI_LONG(0x00000004)
106#define CCS_NOPARENTALIGN   __MSABI_LONG(0x00000008)
107#define CCS_ADJUSTABLE      __MSABI_LONG(0x00000020)
108#define CCS_NODIVIDER       __MSABI_LONG(0x00000040)
109#define CCS_VERT            __MSABI_LONG(0x00000080)
110#define CCS_LEFT            (CCS_VERT | CCS_TOP)
111#define CCS_RIGHT           (CCS_VERT | CCS_BOTTOM)
112#define CCS_NOMOVEX         (CCS_VERT | CCS_NOMOVEY)
113
114/* Listview Control */
115#define LVS_ICON            0x0000
116#define LVS_REPORT          0x0001
117#define LVS_SMALLICON       0x0002
118#define LVS_LIST            0x0003
119#define LVS_TYPEMASK        0x0003
120#define LVS_SINGLESEL       0x0004
121#define LVS_SHOWSELALWAYS   0x0008
122#define LVS_SORTASCENDING   0x0010
123#define LVS_SORTDESCENDING  0x0020
124#define LVS_SHAREIMAGELISTS 0x0040
125#define LVS_NOLABELWRAP     0x0080
126#define LVS_AUTOARRANGE     0x0100
127#define LVS_EDITLABELS      0x0200
128#define LVS_OWNERDATA       0x1000
129#define LVS_NOSCROLL        0x2000
130#define LVS_TYPESTYLEMASK   0xfc00
131#define LVS_ALIGNTOP        0x0000
132#define LVS_ALIGNLEFT       0x0800
133#define LVS_ALIGNMASK       0x0c00
134#define LVS_OWNERDRAWFIXED  0x0400
135#define LVS_NOCOLUMNHEADER  0x4000
136#define LVS_NOSORTHEADER    0x8000
137
138/* Treeview Control */
139#define TVS_HASBUTTONS      0x0001
140#define TVS_HASLINES        0x0002
141#define TVS_LINESATROOT     0x0004
142#define TVS_EDITLABELS      0x0008
143#define TVS_DISABLEDRAGDROP 0x0010
144#define TVS_SHOWSELALWAYS   0x0020
145#define TVS_RTLREADING      0x0040
146#define TVS_NOTOOLTIPS      0x0080
147#define TVS_CHECKBOXES      0x0100
148#define TVS_TRACKSELECT     0x0200
149#define TVS_SINGLEEXPAND    0x0400
150#define TVS_INFOTIP         0x0800
151#define TVS_FULLROWSELECT   0x1000
152#define TVS_NOSCROLL        0x2000
153#define TVS_NONEVENHEIGHT   0x4000
154#define TVS_NOHSCROLL       0x8000
155
156/* Tab Control */
157#define TCS_SCROLLOPPOSITE  0x0001   /* assumes multiline tab */
158#define TCS_BOTTOM          0x0002
159#define TCS_RIGHT           0x0002
160#define TCS_MULTISELECT     0x0004  /* allow multi-select in button mode */
161#define TCS_FLATBUTTONS     0x0008
162#define TCS_FORCEICONLEFT   0x0010
163#define TCS_FORCELABELLEFT  0x0020
164#define TCS_HOTTRACK        0x0040
165#define TCS_VERTICAL        0x0080
166#define TCS_TABS            0x0000
167#define TCS_BUTTONS         0x0100
168#define TCS_SINGLELINE      0x0000
169#define TCS_MULTILINE       0x0200
170#define TCS_RIGHTJUSTIFY    0x0000
171#define TCS_FIXEDWIDTH      0x0400
172#define TCS_RAGGEDRIGHT     0x0800
173#define TCS_FOCUSONBUTTONDOWN 0x1000
174#define TCS_OWNERDRAWFIXED  0x2000
175#define TCS_TOOLTIPS        0x4000
176#define TCS_FOCUSNEVER      0x8000
177
178/* Animate Control */
179#define ACS_CENTER          0x0001
180#define ACS_TRANSPARENT     0x0002
181#define ACS_AUTOPLAY        0x0004
182#define ACS_TIMER           0x0008  /* no threads, just timers */
183
184/* Month Calendar Control */
185#define MCS_DAYSTATE        0x0001
186#define MCS_MULTISELECT     0x0002
187#define MCS_WEEKNUMBERS     0x0004
188#define MCS_NOTODAY         0x0010
189#define MCS_NOTODAYCIRCLE   0x0008
190#define MCS_NOTRAILINGDATES 0x0040
191#define MCS_SHORTDAYSOFWEEK 0x0080
192#define MCS_NOSELCHANGEONNAV 0x0100
193
194/* Datetime Control */
195#define DTS_SHORTDATEFORMAT 0x0000
196#define DTS_UPDOWN          0x0001
197#define DTS_SHOWNONE        0x0002
198#define DTS_LONGDATEFORMAT  0x0004
199#define DTS_TIMEFORMAT      0x0009
200#define DTS_SHORTDATECENTURYFORMAT 0x000c
201#define DTS_APPCANPARSE     0x0010
202#define DTS_RIGHTALIGN      0x0020
203
204/* Pager Control */
205#define PGS_VERT            0x00000000
206#define PGS_HORZ            0x00000001
207#define PGS_AUTOSCROLL      0x00000002
208#define PGS_DRAGNDROP       0x00000004
209
210/* Native Font Control */
211#define NFS_EDIT            0x0001
212#define NFS_STATIC          0x0002
213#define NFS_LISTCOMBO       0x0004
214#define NFS_BUTTON          0x0008
215#define NFS_ALL             0x0010
216#define NFS_USEFONTASSOC    0x0020
217