commctrl.rh 7.11 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/*
 * Copyright (C) 2008 Vijay Kiran Kamuju
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

19 20 21 22 23 24 25 26 27
/* Macro to deal with LP64 <=> LLP64 differences in numeric constants with 'l' modifier */
#ifndef __MSABI_LONG
# if defined(_MSC_VER) || defined(__MINGW32__) || defined(__CYGWIN__)
#  define __MSABI_LONG(x)         x ## l
# else
#  define __MSABI_LONG(x)         x
# endif
#endif

28
/* Header Control */
29 30 31 32 33 34 35 36 37 38 39
#define HDS_HORZ            0x0000
#define HDS_BUTTONS         0x0002
#define HDS_HOTTRACK        0x0004
#define HDS_HIDDEN          0x0008
#define HDS_DRAGDROP        0x0040
#define HDS_FULLDRAG        0x0080
#define HDS_FILTERBAR       0x0100
#define HDS_FLAT            0x0200
#define HDS_CHECKBOXES      0x0400
#define HDS_NOSIZING        0x0800
#define HDS_OVERFLOW        0x1000
40 41 42 43 44 45 46 47 48 49 50

/* Rebar Control */
#define RBS_TOOLTIPS        0x0100
#define RBS_VARHEIGHT       0x0200
#define RBS_BANDBORDERS     0x0400
#define RBS_FIXEDORDER      0x0800
#define RBS_REGISTERDROP    0x1000
#define RBS_AUTOSIZE        0x2000
#define RBS_VERTICALGRIPPER 0x4000
#define RBS_DBLCLKTOGGLE    0x8000

51
/* Tool tips */
52 53 54 55 56 57
#define TTS_ALWAYSTIP       0x01
#define TTS_NOPREFIX        0x02
#define TTS_NOANIMATE       0x10
#define TTS_NOFADE          0x20
#define TTS_BALLOON         0x40
#define TTS_CLOSE           0x80
58
#define TTS_USEVISUALSTYLE  0x100
59 60 61 62 63 64 65 66 67

/* Statusbar Control */
#define SBARS_SIZEGRIP      0x0100
#define SBARS_TOOLTIPS      0x0800
#define SBT_TOOLTIPS        0x0800

/* Toolbar Control */
#define TBS_AUTOTICKS       0x0001
#define TBS_VERT            0x0002
68
#define TBS_HORZ            0x0000
69
#define TBS_TOP             0x0004
70 71 72
#define TBS_BOTTOM          0x0000
#define TBS_LEFT            0x0004
#define TBS_RIGHT           0x0000
73 74 75 76 77 78 79 80
#define TBS_BOTH            0x0008
#define TBS_NOTICKS         0x0010
#define TBS_ENABLESELRANGE  0x0020
#define TBS_FIXEDLENGTH     0x0040
#define TBS_NOTHUMB         0x0080
#define TBS_TOOLTIPS        0x0100
#define TBS_REVERSED        0x0200
#define TBS_DOWNISLEFT      0x0400
81 82
#define TBS_NOTIFYBEFOREREMOVE 0x0800
#define TBS_TRANSPARENTBKGND 0x1000
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97

/* UpDown Control */
#define UDS_WRAP            0x0001
#define UDS_SETBUDDYINT     0x0002
#define UDS_ALIGNRIGHT      0x0004
#define UDS_ALIGNLEFT       0x0008
#define UDS_AUTOBUDDY       0x0010
#define UDS_ARROWKEYS       0x0020
#define UDS_HORZ            0x0040
#define UDS_NOTHOUSANDS     0x0080
#define UDS_HOTTRACK        0x0100

/* Progressbar Control */
#define PBS_SMOOTH          0x01
#define PBS_VERTICAL        0x04
98 99
#define PBS_MARQUEE         0x08
#define PBS_SMOOTHREVERSE   0x10
100 101

/* Common Control Styles */
102 103 104 105 106 107 108 109
#define CCS_TOP             __MSABI_LONG(0x00000001)
#define CCS_NOMOVEY         __MSABI_LONG(0x00000002)
#define CCS_BOTTOM          __MSABI_LONG(0x00000003)
#define CCS_NORESIZE        __MSABI_LONG(0x00000004)
#define CCS_NOPARENTALIGN   __MSABI_LONG(0x00000008)
#define CCS_ADJUSTABLE      __MSABI_LONG(0x00000020)
#define CCS_NODIVIDER       __MSABI_LONG(0x00000040)
#define CCS_VERT            __MSABI_LONG(0x00000080)
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
#define CCS_LEFT            (CCS_VERT | CCS_TOP)
#define CCS_RIGHT           (CCS_VERT | CCS_BOTTOM)
#define CCS_NOMOVEX         (CCS_VERT | CCS_NOMOVEY)

/* Listview Control */
#define LVS_ICON            0x0000
#define LVS_REPORT          0x0001
#define LVS_SMALLICON       0x0002
#define LVS_LIST            0x0003
#define LVS_TYPEMASK        0x0003
#define LVS_SINGLESEL       0x0004
#define LVS_SHOWSELALWAYS   0x0008
#define LVS_SORTASCENDING   0x0010
#define LVS_SORTDESCENDING  0x0020
#define LVS_SHAREIMAGELISTS 0x0040
#define LVS_NOLABELWRAP     0x0080
#define LVS_AUTOARRANGE     0x0100
#define LVS_EDITLABELS      0x0200
#define LVS_OWNERDATA       0x1000
#define LVS_NOSCROLL        0x2000
130 131 132 133 134
#define LVS_TYPESTYLEMASK   0xfc00
#define LVS_ALIGNTOP        0x0000
#define LVS_ALIGNLEFT       0x0800
#define LVS_ALIGNMASK       0x0c00
#define LVS_OWNERDRAWFIXED  0x0400
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
#define LVS_NOCOLUMNHEADER  0x4000
#define LVS_NOSORTHEADER    0x8000

/* Treeview Control */
#define TVS_HASBUTTONS      0x0001
#define TVS_HASLINES        0x0002
#define TVS_LINESATROOT     0x0004
#define TVS_EDITLABELS      0x0008
#define TVS_DISABLEDRAGDROP 0x0010
#define TVS_SHOWSELALWAYS   0x0020
#define TVS_RTLREADING      0x0040
#define TVS_NOTOOLTIPS      0x0080
#define TVS_CHECKBOXES      0x0100
#define TVS_TRACKSELECT     0x0200
#define TVS_SINGLEEXPAND    0x0400
#define TVS_INFOTIP         0x0800
#define TVS_FULLROWSELECT   0x1000
#define TVS_NOSCROLL        0x2000
#define TVS_NONEVENHEIGHT   0x4000
#define TVS_NOHSCROLL       0x8000

/* Tab Control */
157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
#define TCS_SCROLLOPPOSITE  0x0001   /* assumes multiline tab */
#define TCS_BOTTOM          0x0002
#define TCS_RIGHT           0x0002
#define TCS_MULTISELECT     0x0004  /* allow multi-select in button mode */
#define TCS_FLATBUTTONS     0x0008
#define TCS_FORCEICONLEFT   0x0010
#define TCS_FORCELABELLEFT  0x0020
#define TCS_HOTTRACK        0x0040
#define TCS_VERTICAL        0x0080
#define TCS_TABS            0x0000
#define TCS_BUTTONS         0x0100
#define TCS_SINGLELINE      0x0000
#define TCS_MULTILINE       0x0200
#define TCS_RIGHTJUSTIFY    0x0000
#define TCS_FIXEDWIDTH      0x0400
#define TCS_RAGGEDRIGHT     0x0800
#define TCS_FOCUSONBUTTONDOWN 0x1000
#define TCS_OWNERDRAWFIXED  0x2000
#define TCS_TOOLTIPS        0x4000
#define TCS_FOCUSNEVER      0x8000
177 178 179 180 181

/* Animate Control */
#define ACS_CENTER          0x0001
#define ACS_TRANSPARENT     0x0002
#define ACS_AUTOPLAY        0x0004
182
#define ACS_TIMER           0x0008  /* no threads, just timers */
183

184
/* Month Calendar Control */
185 186 187 188
#define MCS_DAYSTATE        0x0001
#define MCS_MULTISELECT     0x0002
#define MCS_WEEKNUMBERS     0x0004
#define MCS_NOTODAY         0x0010
189 190
#define MCS_NOTODAYCIRCLE   0x0008
#define MCS_NOTRAILINGDATES 0x0040
191
#define MCS_SHORTDAYSOFWEEK 0x0080
192
#define MCS_NOSELCHANGEONNAV 0x0100
193 194

/* Datetime Control */
195 196 197 198 199
#define DTS_SHORTDATEFORMAT 0x0000
#define DTS_UPDOWN          0x0001
#define DTS_SHOWNONE        0x0002
#define DTS_LONGDATEFORMAT  0x0004
#define DTS_TIMEFORMAT      0x0009
200
#define DTS_SHORTDATECENTURYFORMAT 0x000c
201 202
#define DTS_APPCANPARSE     0x0010
#define DTS_RIGHTALIGN      0x0020
203 204 205 206 207 208 209 210 211 212 213 214 215 216

/* Pager Control */
#define PGS_VERT            0x00000000
#define PGS_HORZ            0x00000001
#define PGS_AUTOSCROLL      0x00000002
#define PGS_DRAGNDROP       0x00000004

/* Native Font Control */
#define NFS_EDIT            0x0001
#define NFS_STATIC          0x0002
#define NFS_LISTCOMBO       0x0004
#define NFS_BUTTON          0x0008
#define NFS_ALL             0x0010
#define NFS_USEFONTASSOC    0x0020