/* * 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 */ /* 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 /* Header Control */ #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 /* 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 /* Tool tips */ #define TTS_ALWAYSTIP 0x01 #define TTS_NOPREFIX 0x02 #define TTS_NOANIMATE 0x10 #define TTS_NOFADE 0x20 #define TTS_BALLOON 0x40 #define TTS_CLOSE 0x80 #define TTS_USEVISUALSTYLE 0x100 /* Statusbar Control */ #define SBARS_SIZEGRIP 0x0100 #define SBARS_TOOLTIPS 0x0800 #define SBT_TOOLTIPS 0x0800 /* Toolbar Control */ #define TBS_AUTOTICKS 0x0001 #define TBS_VERT 0x0002 #define TBS_HORZ 0x0000 #define TBS_TOP 0x0004 #define TBS_BOTTOM 0x0000 #define TBS_LEFT 0x0004 #define TBS_RIGHT 0x0000 #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 /* 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 #define PBS_MARQUEE 0x08 #define PBS_SMOOTHREVERSE 0x10 /* Common Control Styles */ #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) #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 #define LVS_TYPESTYLEMASK 0xfc00 #define LVS_ALIGNTOP 0x0000 #define LVS_ALIGNLEFT 0x0800 #define LVS_ALIGNMASK 0x0c00 #define LVS_OWNERDRAWFIXED 0x0400 #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 */ #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 /* Animate Control */ #define ACS_CENTER 0x0001 #define ACS_TRANSPARENT 0x0002 #define ACS_AUTOPLAY 0x0004 #define ACS_TIMER 0x0008 /* no threads, just timers */ /* Month Calendar Control */ #define MCS_DAYSTATE 0x0001 #define MCS_MULTISELECT 0x0002 #define MCS_WEEKNUMBERS 0x0004 #define MCS_NOTODAY 0x0010 #define MCS_NOTODAYCIRCLE 0x0008 #define MCS_NOTRAILINGDATES 0x0040 /* Datetime Control */ #define DTS_SHORTDATEFORMAT 0x0000 #define DTS_UPDOWN 0x0001 #define DTS_SHOWNONE 0x0002 #define DTS_LONGDATEFORMAT 0x0004 #define DTS_TIMEFORMAT 0x0009 #define DTS_APPCANPARSE 0x0010 #define DTS_RIGHTALIGN 0x0020 /* 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