2 * Copyright (C) 2008 Vijay Kiran Kamuju
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.
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.
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
19 /* Macro to deal with LP64 <=> LLP64 differences in numeric constants with 'l' modifier */
21 # if defined(_MSC_VER) || defined(__MINGW32__) || defined(__CYGWIN__)
22 # define __MSABI_LONG(x) x ## l
24 # define __MSABI_LONG(x) x
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
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
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
60 /* Statusbar Control */
61 #define SBARS_SIZEGRIP 0x0100
62 #define SBARS_TOOLTIPS 0x0800
63 #define SBT_TOOLTIPS 0x0800
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
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
95 /* Progressbar Control */
96 #define PBS_SMOOTH 0x01
97 #define PBS_VERTICAL 0x04
98 #define PBS_MARQUEE 0x08
99 #define PBS_SMOOTHREVERSE 0x10
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)
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
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
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
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 */
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
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
205 #define PGS_VERT 0x00000000
206 #define PGS_HORZ 0x00000001
207 #define PGS_AUTOSCROLL 0x00000002
208 #define PGS_DRAGNDROP 0x00000004
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