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