/***********************************************************************\
* commctrl.d *
* *
* Windows API header module *
* *
* Translated from MinGW API for MS-Windows 3.12 *
* *
* Placed into public domain *
\***********************************************************************/
module win32.commctrl;
pragma(lib, "comctl32.lib");
private import win32.w32api, win32.windef, win32.winuser;
private import win32.winbase; // for SYSTEMTIME
private import win32.objfwd; // for LPSTREAM
import win32.prsht;
const COMCTL32_VERSION = 6;
const TCHAR[]
DRAGLISTMSGSTRING = "commctrl_DragListMsg",
HOTKEY_CLASS = "msctls_hotkey32",
PROGRESS_CLASS = "msctls_progress32",
STATUSCLASSNAME = "msctls_statusbar32",
TOOLBARCLASSNAME = "ToolbarWindow32",
TOOLTIPS_CLASS = "tooltips_class32",
TRACKBAR_CLASS = "msctls_trackbar32",
UPDOWN_CLASS = "msctls_updown32",
ANIMATE_CLASS = "SysAnimate32",
DATETIMEPICK_CLASS = "SysDateTimePick32",
MONTHCAL_CLASS = "SysMonthCal32",
REBARCLASSNAME = "ReBarWindow32",
WC_COMBOBOXEX = "ComboBoxEx32",
WC_IPADDRESS = "SysIPAddress32",
WC_LISTVIEW = "SysListView32",
WC_TABCONTROL = "SysTabControl32",
WC_TREEVIEW = "SysTreeView32",
WC_HEADER = "SysHeader32",
WC_PAGESCROLLER = "SysPager",
WC_NATIVEFONTCTL = "NativeFontCtl",
WC_BUTTON = "Button",
WC_STATIC = "Static",
WC_EDIT = "Edit",
WC_LISTBOX = "ListBox",
WC_COMBOBOX = "ComboBox",
WC_SCROLLBAR = "ScrollBar",
WC_LINKA = "SysLink";
enum {
LVM_FIRST = 0x1000,
TV_FIRST = 0x1100,
HDM_FIRST = 0x1200
}
enum {
ACM_OPENA = WM_USER + 100,
ACM_PLAY = WM_USER + 101,
ACM_STOP = WM_USER + 102,
ACM_OPENW = WM_USER + 103
}
enum {
ACN_START = 1,
ACN_STOP
}
enum {
CBEIF_TEXT = 0x00000001,
CBEIF_IMAGE = 0x00000002,
CBEIF_SELECTEDIMAGE = 0x00000004,
CBEIF_OVERLAY = 0x00000008,
CBEIF_INDENT = 0x00000010,
CBEIF_LPARAM = 0x00000020,
CBEIF_DI_SETITEM = 0x10000000
}
enum {
RBN_FIRST = -831U,
RBN_LAST = -859U,
MCN_FIRST = -750U,
MCN_LAST = -759U,
DTN_FIRST = -760U,
DTN_LAST = -799U,
CBEN_FIRST = -800U,
CBEN_LAST = -830U
}
enum {
CBEN_INSERTITEM = CBEN_FIRST - 1,
CBEN_DELETEITEM = CBEN_FIRST - 2,
CBEN_BEGINEDIT = CBEN_FIRST - 4,
CBEN_ENDEDITA = CBEN_FIRST - 5,
CBEN_ENDEDITW = CBEN_FIRST - 6
}
enum {
CBENF_KILLFOCUS = 1,
CBENF_RETURN,
CBENF_ESCAPE,
CBENF_DROPDOWN // = 4
}
const CBEMAXSTRLEN = 260;
enum {
DL_BEGINDRAG = 1157,
DL_CANCELDRAG = 1160,
DL_DRAGGING = 1158,
DL_DROPPED = 1159,
DL_CURSORSET = 0,
DL_STOPCURSOR = 1,
DL_COPYCURSOR = 2,
DL_MOVECURSOR = 3
}
enum {
CCS_TOP = 1,
CCS_NOMOVEY = 2,
CCS_BOTTOM = 3,
CCS_NORESIZE = 4,
CCS_NOPARENTALIGN = 8,
CCS_ADJUSTABLE = 32,
CCS_NODIVIDER = 64
}
static if (_WIN32_IE >= 0x300) {
enum {
CCS_VERT = 128,
CCS_LEFT = 129,
CCS_NOMOVEX = 130,
CCS_RIGHT = 131
}
}
enum {
ACS_CENTER = 0x0001,
ACS_TRANSPARENT = 0x0002,
ACS_AUTOPLAY = 0x0004,
ACS_TIMER = 0x0008
}
enum {
PGS_VERT = 0x00000000,
PGS_HORZ = 0x00000001,
PGS_AUTOSCROLL = 0x00000002,
PGS_DRAGNDROP = 0x00000004
}
const CMB_MASKED = 2;
const MINSYSCOMMAND = SC_SIZE;
enum {
SBT_OWNERDRAW = 0x1000,
SBT_NOBORDERS = 256,
SBT_POPOUT = 512,
SBT_RTLREADING = 1024
}
enum {
SB_SETTEXTA = WM_USER + 1,
SB_SETTEXTW = WM_USER + 11,
SB_GETTEXTA = WM_USER + 2,
SB_GETTEXTW = WM_USER + 13,
SB_GETTEXTLENGTHA = WM_USER + 3,
SB_GETTEXTLENGTHW = WM_USER + 12,
SB_SETPARTS = WM_USER + 4,
SB_GETPARTS = WM_USER + 6,
SB_GETBORDERS = WM_USER + 7,
SB_SETMINHEIGHT = WM_USER + 8,
SB_SIMPLE = WM_USER + 9,
SB_GETRECT = WM_USER + 10
}
enum {
MSGF_COMMCTRL_BEGINDRAG = 0x4200,
MSGF_COMMCTRL_SIZEHEADER = 0x4201,
MSGF_COMMCTRL_DRAGSELECT = 0x4202,
MSGF_COMMCTRL_TOOLBARCUST = 0x4203
}
enum {
ILC_COLOR = 0,
ILC_COLOR4 = 4,
ILC_COLOR8 = 8,
ILC_COLOR16 = 16,
ILC_COLOR24 = 24,
ILC_COLOR32 = 32,
ILC_COLORDDB = 254,
ILC_MASK = 1,
ILC_PALETTE = 2048
}
enum {
ILCF_MOVE,
ILCF_SWAP
}
enum {
ILS_NORMAL = 0,
ILS_GLOW = 1,
ILS_SHADOW = 2,
ILS_SATURATE = 4,
ILS_ALPHA = 8,
ILD_BLEND25 = 2,
ILD_BLEND50 = 4,
ILD_SELECTED = 4,
ILD_BLEND = 4,
ILD_FOCUS = 2,
ILD_MASK = 16,
ILD_NORMAL = 0,
ILD_TRANSPARENT = 1,
ILD_IMAGE = 0x0020,
ILD_ROP = 0x0040,
ILD_OVERLAYMASK = 0x0F00,
ILD_PRESERVEALPHA = 0x1000,
ILD_SCALE = 0x2000,
ILD_DPISCALE = 0x4000
}
enum {
HDS_HORZ = 0,
HDS_BUTTONS = 2,
HDS_HIDDEN = 8
}
static if (_WIN32_IE >= 0x400) {
enum {
HDS_HOTTRACK = 4,
HDS_DRAGDROP = 0x0040,
HDS_FULLDRAG = 0x0080
}
}
static if (_WIN32_IE >= 0x500) {
enum {
HDS_FILTERBAR = 0x0100
}
}
enum {
NM_FIRST = 0,
NM_LAST = -99U,
LVN_FIRST = -100U,
LVN_LAST = -199U,
HDN_FIRST = -300U,
HDN_LAST = -399U,
TVN_FIRST = -400U,
TVN_LAST = -499U,
TTN_FIRST = -520U,
TTN_LAST = -549U,
TCN_FIRST = -550U,
TCN_LAST = -580U,
CDN_FIRST = -601U, /* also in commdlg.h */
CDN_LAST = -699U,
TBN_FIRST = -700U,
TBN_LAST = -720U,
UDN_FIRST = -721U,
UDN_LAST = -740U
}
/*static if (_WIN32_IE >= 0x300) {
enum {
RBN_FIRST = -831U,
RBN_LAST = -859U,
MCN_FIRST = -750U,
MCN_LAST = -759U,
DTN_FIRST = -760U,
DTN_LAST = -799U,
CBEN_FIRST = -800U,
CBEN_LAST = -830U
}
}*/
static if (_WIN32_IE >= 0x400) {
enum {
IPN_FIRST = -860U,
IPN_LAST = -879U,
IPN_FIELDCHANGED = IPN_FIRST,
SBN_FIRST = -880U,
SBN_LAST = -899U,
PGN_FIRST = -900U,
PGN_LAST = -950U,
PGN_SCROLL = PGN_FIRST-1,
PGN_CALCSIZE = PGN_FIRST-2
}
}
enum {
HDI_WIDTH = 1,
HDI_HEIGHT = 1,
HDI_TEXT = 2,
HDI_FORMAT = 4,
HDI_LPARAM = 8,
HDI_BITMAP = 16
}
static if (_WIN32_IE >= 0x300) {
enum {
HDI_IMAGE = 32,
HDI_DI_SETITEM = 64,
HDI_ORDER = 128
}
}
static if (_WIN32_IE >= 0x500) {
enum {
HDI_FILTER = 256
}
}
enum {
CBES_EX_NOEDITIMAGE = 0x00000001,
CBES_EX_NOEDITIMAGEINDENT = 0x00000002,
CBES_EX_PATHWORDBREAKPROC = 0x00000004
}
static if (_WIN32_IE >= 0x400) {
enum {
CBES_EX_NOSIZELIMIT = 0x00000008,
CBES_EX_CASESENSITIVE = 0x00000010,
CBEN_GETDISPINFOA = CBEN_FIRST - 0,
CBEN_GETDISPINFOW = CBEN_FIRST - 7,
CBEN_DRAGBEGINA = CBEN_FIRST - 8,
CBEN_DRAGBEGINW = CBEN_FIRST - 9
}
}
enum {
HDF_LEFT,
HDF_RIGHT,
HDF_CENTER,
HDF_JUSTIFYMASK,
HDF_RTLREADING, // = 4
HDF_OWNERDRAW = 0x8000,
HDF_STRING = 0x4000,
HDF_BITMAP = 0x2000
}
static if (_WIN32_IE >= 0x300) {
enum {
HDF_BITMAP_ON_RIGHT = 0x1000,
HDF_IMAGE = 0x0800
}
}
enum {
CCM_FIRST = 0x2000,
CCM_LAST = CCM_FIRST + 0x200,
CCM_SETBKCOLOR = 8193,
CCM_SETCOLORSCHEME = 8194,
CCM_GETCOLORSCHEME = 8195,
CCM_GETDROPTARGET = 8196,
CCM_SETUNICODEFORMAT = 8197,
CCM_GETUNICODEFORMAT = 8198,
CCM_SETVERSION = 0x2007,
CCM_GETVERSION = 0x2008,
CCM_SETNOTIFYWINDOW = 0x2009
}
enum {
HDM_GETITEMCOUNT = HDM_FIRST,
HDM_INSERTITEMA = HDM_FIRST + 1,
HDM_INSERTITEMW = HDM_FIRST + 10,
HDM_DELETEITEM = HDM_FIRST + 2,
HDM_GETITEMA = HDM_FIRST + 3,
HDM_GETITEMW = HDM_FIRST + 11,
HDM_SETITEMA = HDM_FIRST + 4,
HDM_SETITEMW = HDM_FIRST + 12,
HDM_LAYOUT = HDM_FIRST + 5
}
static if (_WIN32_IE >= 0x300) {
enum {
HDM_GETITEMRECT = HDM_FIRST + 7,
HDM_SETIMAGELIST = HDM_FIRST + 8,
HDM_GETIMAGELIST = HDM_FIRST + 9,
HDM_ORDERTOINDEX = HDM_FIRST + 15,
HDM_CREATEDRAGIMAGE = HDM_FIRST + 16,
HDM_GETORDERARRAY = HDM_FIRST + 17,
HDM_SETORDERARRAY = HDM_FIRST + 18,
HDM_SETHOTDIVIDER = HDM_FIRST + 19
}
}
static if (_WIN32_IE >= 0x400) {
enum {
HDM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT,
HDM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
}
}
enum {
HHT_NOWHERE = 1,
HHT_ONHEADER = 2,
HHT_ONDIVIDER = 4,
HHT_ONDIVOPEN = 8,
HHT_ABOVE = 256,
HHT_BELOW = 512,
HHT_TORIGHT = 1024,
HHT_TOLEFT = 2048
}
enum {
HDM_HITTEST = HDM_FIRST + 6
}
enum {
HDN_ITEMCHANGINGA = HDN_FIRST -0,
HDN_ITEMCHANGINGW = HDN_FIRST -20,
HDN_ITEMCHANGEDA = HDN_FIRST -1,
HDN_ITEMCHANGEDW = HDN_FIRST -21,
HDN_ITEMCLICKA = HDN_FIRST -2,
HDN_ITEMCLICKW = HDN_FIRST -22,
HDN_ITEMDBLCLICKA = HDN_FIRST -3,
HDN_ITEMDBLCLICKW = HDN_FIRST -23,
HDN_DIVIDERDBLCLICKA = HDN_FIRST -5,
HDN_DIVIDERDBLCLICKW = HDN_FIRST -25,
HDN_BEGINTRACKA = HDN_FIRST -6,
HDN_BEGINTRACKW = HDN_FIRST -26,
HDN_ENDTRACKA = HDN_FIRST -7,
HDN_ENDTRACKW = HDN_FIRST -27,
HDN_TRACKA = HDN_FIRST -8,
HDN_TRACKW = HDN_FIRST -28
}
static if (_WIN32_IE >= 0x300) {
enum {
HDN_ENDDRAG = (HDN_FIRST-11),
HDN_BEGINDRAG = (HDN_FIRST-10),
HDN_GETDISPINFOA = (HDN_FIRST-9),
HDN_GETDISPINFOW = (HDN_FIRST-29)
}
}
static if (_WIN32_IE >= 0x400) {
enum {
HICF_OTHER = 0x00,
HICF_MOUSE = 0x01,
HICF_ARROWKEYS = 0x02,
HICF_ACCELERATOR = 0x04,
HICF_DUPACCEL = 0x08,
HICF_ENTERING = 0x10,
HICF_LEAVING = 0x20,
HICF_RESELECT = 0x40,
HICF_LMOUSE = 0x80,
HICF_TOGGLEDROPDOWN = 0x100
}
}
enum {
IPM_CLEARADDRESS = WM_USER + 100,
IPM_SETADDRESS = WM_USER + 101,
IPM_GETADDRESS = WM_USER + 102,
IPM_SETRANGE = WM_USER + 103,
IPM_SETFOCUS = WM_USER + 104,
IPM_ISBLANK = WM_USER + 105
}
static if (_WIN32_IE >= 0x500) {
enum {
I_INDENTCALLBACK = -1,
I_IMAGENONE = -2
}
}
enum {
TBSTATE_CHECKED = 1,
TBSTATE_PRESSED = 2,
TBSTATE_ENABLED = 4,
TBSTATE_HIDDEN = 8,
TBSTATE_INDETERMINATE = 16,
TBSTATE_WRAP = 32
}
static if (_WIN32_IE >= 0x300) {
enum {
TBSTATE_ELLIPSES = 0x40
}
}
static if (_WIN32_IE >= 0x400) {
enum {
TBSTATE_MARKED = 0x0080
}
}
enum {
TBSTYLE_BUTTON = 0,
TBSTYLE_SEP = 1,
TBSTYLE_CHECK = 2,
TBSTYLE_GROUP = 4,
TBSTYLE_CHECKGROUP = TBSTYLE_GROUP | TBSTYLE_CHECK
}
static if (_WIN32_IE >= 0x300) {
enum {
TBSTYLE_DROPDOWN = 8
}
}
static if (_WIN32_IE >= 0x400) {
enum {
TBSTYLE_AUTOSIZE = 16,
TBSTYLE_NOPREFIX = 32
}
}
enum {
TBSTYLE_TOOLTIPS = 256,
TBSTYLE_WRAPABLE = 512,
TBSTYLE_ALTDRAG = 1024
}
static if (_WIN32_IE >= 0x300) {
enum {
TBSTYLE_FLAT = 2048,
TBSTYLE_LIST = 4096,
TBSTYLE_CUSTOMERASE = 8192
}
}
static if (_WIN32_IE >= 0x400) {
enum {
TBSTYLE_REGISTERDROP = 0x4000,
TBSTYLE_TRANSPARENT = 0x8000,
TBSTYLE_EX_DRAWDDARROWS = 0x00000001
}
}
static if (_WIN32_IE >= 0x501) {
enum {
TBSTYLE_EX_MIXEDBUTTONS = 8,
TBSTYLE_EX_HIDECLIPPEDBUTTONS = 16
}
}
static if (_WIN32_WINNT >= 0x501) {
enum {
TBSTYLE_EX_DOUBLEBUFFER = 0x80
}
}
static if (_WIN32_IE >= 0x500) {
enum {
BTNS_BUTTON = TBSTYLE_BUTTON,
BTNS_SEP = TBSTYLE_SEP,
BTNS_CHECK = TBSTYLE_CHECK,
BTNS_GROUP = TBSTYLE_GROUP,
BTNS_CHECKGROUP = TBSTYLE_CHECKGROUP,
BTNS_DROPDOWN = TBSTYLE_DROPDOWN,
BTNS_AUTOSIZE = TBSTYLE_AUTOSIZE,
BTNS_NOPREFIX = TBSTYLE_NOPREFIX,
BTNS_WHOLEDROPDOWN = 0x0080
}
}
static if (_WIN32_IE >= 0x501) {
enum {
BTNS_SHOWTEXT = 0x0040
}
}
static if (_WIN32_IE >= 0x400) {
enum {
TBCDRF_NOEDGES = 0x10000,
TBCDRF_HILITEHOTTRACK = 0x20000,
TBCDRF_NOOFFSET = 0x40000,
TBCDRF_NOMARK = 0x80000,
TBCDRF_NOETCHEDEFFECT = 0x100000
}
}
const HINST_COMMCTRL = cast(HINSTANCE) (-1);
enum {
IDB_STD_SMALL_COLOR,
IDB_STD_LARGE_COLOR,
IDB_VIEW_SMALL_COLOR = 4,
IDB_VIEW_LARGE_COLOR = 5
}
static if (_WIN32_IE >= 0x300) {
enum {
IDB_HIST_SMALL_COLOR = 8,
IDB_HIST_LARGE_COLOR = 9
}
}
enum {
STD_CUT,
STD_COPY,
STD_PASTE,
STD_UNDO,
STD_REDOW,
STD_DELETE,
STD_FILENEW,
STD_FILEOPEN,
STD_FILESAVE,
STD_PRINTPRE,
STD_PROPERTIES,
STD_HELP,
STD_FIND,
STD_REPLACE,
STD_PRINT // = 14
}
enum {
VIEW_LARGEICONS,
VIEW_SMALLICONS,
VIEW_LIST,
VIEW_DETAILS,
VIEW_SORTNAME,
VIEW_SORTSIZE,
VIEW_SORTDATE,
VIEW_SORTTYPE,
VIEW_PARENTFOLDER,
VIEW_NETCONNECT,
VIEW_NETDISCONNECT,
VIEW_NEWFOLDER // = 11
}
enum {
TB_ENABLEBUTTON = WM_USER + 1,
TB_CHECKBUTTON,
TB_PRESSBUTTON,
TB_HIDEBUTTON,
TB_INDETERMINATE, // = WM_USER + 5,
TB_ISBUTTONENABLED = WM_USER + 9,
TB_ISBUTTONCHECKED,
TB_ISBUTTONPRESSED,
TB_ISBUTTONHIDDEN,
TB_ISBUTTONINDETERMINATE, // = WM_USER + 13,
TB_SETSTATE = WM_USER + 17,
TB_GETSTATE = WM_USER + 18,
TB_ADDBITMAP = WM_USER + 19,
TB_DELETEBUTTON = WM_USER + 22,
TB_GETBUTTON,
TB_BUTTONCOUNT,
TB_COMMANDTOINDEX,
TB_SAVERESTOREA,
TB_CUSTOMIZE,
TB_ADDSTRINGA,
TB_GETITEMRECT,
TB_BUTTONSTRUCTSIZE,
TB_SETBUTTONSIZE,
TB_SETBITMAPSIZE,
TB_AUTOSIZE, // = WM_USER + 33,
TB_GETTOOLTIPS = WM_USER + 35,
TB_SETTOOLTIPS = WM_USER + 36,
TB_SETPARENT = WM_USER + 37,
TB_SETROWS = WM_USER + 39,
TB_GETROWS,
TB_GETBITMAPFLAGS,
TB_SETCMDID,
TB_CHANGEBITMAP,
TB_GETBITMAP,
TB_GETBUTTONTEXTA,
TB_REPLACEBITMAP, // = WM_USER + 46,
TB_GETBUTTONSIZE = WM_USER + 58,
TB_SETBUTTONWIDTH = WM_USER + 59,
TB_GETBUTTONTEXTW = WM_USER + 75,
TB_SAVERESTOREW = WM_USER + 76,
TB_ADDSTRINGW = WM_USER + 77,
}
static if (_WIN32_IE >= 0x400) {
enum {
TB_MARKBUTTON = WM_USER + 6
}
}
static if (_WIN32_IE >= 0x400) {
enum {
TB_ISBUTTONHIGHLIGHTED = WM_USER + 14
}
}
static if (_WIN32_IE >= 0x400) {
enum {
TB_ADDBUTTONSA = WM_USER + 20,
TB_INSERTBUTTONA = WM_USER + 21
}
} else {
enum {
TB_ADDBUTTONS = WM_USER + 20,
TB_INSERTBUTTON = WM_USER + 21
}
}
static if (_WIN32_IE >= 0x300) {
enum {
TB_SETINDENT = WM_USER + 47,
TB_SETIMAGELIST,
TB_GETIMAGELIST,
TB_LOADIMAGES,
TB_GETRECT,
TB_SETHOTIMAGELIST,
TB_GETHOTIMAGELIST,
TB_SETDISABLEDIMAGELIST,
TB_GETDISABLEDIMAGELIST,
TB_SETSTYLE,
TB_GETSTYLE,
//TB_GETBUTTONSIZE,
//TB_SETBUTTONWIDTH,
TB_SETMAXTEXTROWS,
TB_GETTEXTROWS // = WM_USER + 61
}
}
static if (_WIN32_IE >= 0x400) {
enum {
TB_GETOBJECT = WM_USER + 62,
TB_GETBUTTONINFOW,
TB_SETBUTTONINFOW,
TB_GETBUTTONINFOA,
TB_SETBUTTONINFOA,
TB_INSERTBUTTONW,
TB_ADDBUTTONSW,
TB_HITTEST, // = WM_USER + 69
TB_SETEXTENDEDSTYLE = WM_USER + 84,
TB_GETEXTENDEDSTYLE = WM_USER + 85,
TB_SETDRAWTEXTFLAGS = WM_USER + 70,
TB_GETHOTITEM,
TB_SETHOTITEM,
TB_SETANCHORHIGHLIGHT,
TB_GETANCHORHIGHLIGHT, // = WM_USER + 74
TB_MAPACCELERATORA = WM_USER + 78,
TB_GETINSERTMARK,
TB_SETINSERTMARK,
TB_INSERTMARKHITTEST,
TB_MOVEBUTTON,
TB_GETMAXSIZE,
//TB_SETEXTENDEDSTYLE,
//TB_GETEXTENDEDSTYLE,
TB_GETPADDING,
TB_SETPADDING,
TB_SETINSERTMARKCOLOR,
TB_GETINSERTMARKCOLOR,
TB_MAPACCELERATORW,
TB_GETSTRINGW,
TB_GETSTRINGA, // = WM_USER + 92
TB_SETCOLORSCHEME = CCM_SETCOLORSCHEME,
TB_GETCOLORSCHEME = CCM_GETCOLORSCHEME,
TB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
TB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
}
}
const TBBF_LARGE = 1;
enum {
TBN_GETBUTTONINFOA = TBN_FIRST -0,
TBN_BEGINDRAG = TBN_FIRST -1,
TBN_ENDDRAG = TBN_FIRST -2,
TBN_BEGINADJUST = TBN_FIRST -3,
TBN_ENDADJUST = TBN_FIRST -4,
TBN_RESET = TBN_FIRST -5,
TBN_QUERYINSERT = TBN_FIRST -6,
TBN_QUERYDELETE = TBN_FIRST -7,
TBN_TOOLBARCHANGE = TBN_FIRST -8,
TBN_CUSTHELP = TBN_FIRST -9
}
static if (_WIN32_IE >= 0x300) {
enum {
TBN_DROPDOWN = TBN_FIRST - 10
}
}
static if (_WIN32_IE >= 0x400) {
enum {
TBN_HOTITEMCHANGE = TBN_FIRST - 13,
TBN_DRAGOUT = TBN_FIRST - 14,
TBN_DELETINGBUTTON = TBN_FIRST - 15,
TBN_GETDISPINFOA = TBN_FIRST - 16,
TBN_GETDISPINFOW = TBN_FIRST - 17,
TBN_GETINFOTIPA = TBN_FIRST - 18,
TBN_GETINFOTIPW = TBN_FIRST - 19,
TBN_GETBUTTONINFOW = TBN_FIRST - 20
}
}
static if (_WIN32_IE >= 0x500) {
enum {
TBN_RESTORE = TBN_FIRST - 21,
TBN_SAVE = TBN_FIRST - 22,
TBN_INITCUSTOMIZE = TBN_FIRST - 23
}
enum {
TBNRF_HIDEHELP = 1,
TBNRF_ENDCUSTOMIZE
}
enum {
TBNF_IMAGE = 1,
TBNF_TEXT = 2,
TBNF_DI_SETITEM = 0x10000000
}
}
enum {
TTS_ALWAYSTIP = 1,
TTS_NOPREFIX
}
static if(_WIN32_IE >= 0x500) {
enum {
TTS_NOANIMATE = 0x10,
TTS_NOFADE = 0x20,
TTS_BALLOON = 0x40,
TTS_CLOSE = 0x80
}
}
enum {
TTF_IDISHWND = 1,
TTF_CENTERTIP = 2,
TTF_RTLREADING = 4,
TTF_SUBCLASS = 16
}
static if (_WIN32_IE >= 0x300) {
enum {
TTF_TRACK = 0x0020,
TTF_ABSOLUTE = 0x0080,
TTF_TRANSPARENT = 0x0100,
TTF_DI_SETITEM = 0x8000
}
static if (_WIN32_IE >= 0x501) {
enum {
TTF_PARSELINKS = 0x1000
}
}
enum {
TBCD_TICS = 1,
TBCD_THUMB,
TBCD_CHANNEL // = 3
}
}
static if (_WIN32_IE >= 0x400) {
enum {
TBDDRET_DEFAULT,
TBDDRET_NODEFAULT,
TBDDRET_TREATPRESSED
}
enum {
TBIMHT_AFTER = 1,
TBIMHT_BACKGROUND
}
}
enum {
TTDT_AUTOMATIC,
TTDT_RESHOW,
TTDT_AUTOPOP,
TTDT_INITIAL
}
enum {
TTM_ACTIVATE = WM_USER + 1,
TTM_SETDELAYTIME = WM_USER + 3,
TTM_ADDTOOLA,
TTM_DELTOOLA,
TTM_NEWTOOLRECTA,
TTM_RELAYEVENT,
TTM_GETTOOLINFOA,
TTM_SETTOOLINFOA,
TTM_HITTESTA,
TTM_GETTEXTA,
TTM_UPDATETIPTEXTA,
TTM_GETTOOLCOUNT,
TTM_ENUMTOOLSA,
TTM_GETCURRENTTOOLA,
TTM_WINDOWFROMPOINT, // = WM_USER + 16
TTM_ADDTOOLW = WM_USER + 50,
TTM_DELTOOLW,
TTM_NEWTOOLRECTW,
TTM_GETTOOLINFOW,
TTM_SETTOOLINFOW,
TTM_HITTESTW,
TTM_GETTEXTW,
TTM_UPDATETIPTEXTW,
TTM_ENUMTOOLSW,
TTM_GETCURRENTTOOLW // = WM_USER + 59
}
static if (_WIN32_IE >= 0x300) {
enum {
TTM_TRACKACTIVATE = WM_USER + 17,
TTM_TRACKPOSITION,
TTM_SETTIPBKCOLOR,
TTM_SETTIPTEXTCOLOR,
TTM_GETDELAYTIME,
TTM_GETTIPBKCOLOR,
TTM_GETTIPTEXTCOLOR,
TTM_SETMAXTIPWIDTH,
TTM_GETMAXTIPWIDTH,
TTM_SETMARGIN,
TTM_GETMARGIN,
TTM_POP // = WM_USER + 28
}
}
static if (_WIN32_IE >= 0x400) { // IE4.0 ???
enum {
TTM_UPDATE = WM_USER + 29,
TTM_GETBUBBLESIZE,
TTM_ADJUSTRECT,
TTM_SETTITLEA,
TTM_SETTITLEW // = WM_USER + 33
}
}
enum {
TTN_GETDISPINFOA = TTN_FIRST - 0,
TTN_GETDISPINFOW = TTN_FIRST - 10,
TTN_NEEDTEXTA = TTN_GETDISPINFOA,
TTN_NEEDTEXTW = TTN_GETDISPINFOW,
TTN_SHOW = TTN_FIRST-1,
TTN_POP = TTN_FIRST-2
}
const UD_MAXVAL = 0x7fff;
const UD_MINVAL = -UD_MAXVAL;
enum {
UDN_DELTAPOS = UDN_FIRST-1,
UDS_WRAP = 1,
UDS_SETBUDDYINT = 2,
UDS_ALIGNRIGHT = 4,
UDS_ALIGNLEFT = 8,
UDS_AUTOBUDDY = 16,
UDS_ARROWKEYS = 32,
UDS_HORZ = 64,
UDS_NOTHOUSANDS = 128
}
static if (_WIN32_IE >= 0x300) {
enum {
UDS_HOTTRACK = 0x0100
}
}
enum {
UDM_SETRANGE = WM_USER + 101,
UDM_GETRANGE,
UDM_SETPOS,
UDM_GETPOS,
UDM_SETBUDDY,
UDM_GETBUDDY,
UDM_SETACCEL,
UDM_GETACCEL,
UDM_SETBASE,
UDM_GETBASE // = WM_USER + 110
}
static if (_WIN32_IE >= 0x400) {
enum {
UDM_SETRANGE32 = WM_USER + 111,
UDM_GETRANGE32,
UDM_SETPOS32,
UDM_GETPOS32 // = WM_USER + 114
}
}
static if (_WIN32_IE >= 0x500) {
enum {
UDM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
UDM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
}
}
/*enum {
SB_SETTEXTA = WM_USER + 1,
SB_GETTEXTA,
SB_GETTEXTLENGTHA,
SB_SETPARTS, // = WM_USER + 4
SB_GETPARTS = WM_USER + 6,
SB_GETBORDERS,
SB_SETMINHEIGHT,
SB_SIMPLE,
SB_GETRECT,
SB_SETTEXTW,
SB_GETTEXTLENGTHW,
SB_GETTEXTW // = WM_USER + 13
}*/
/*enum {
SBT_OWNERDRAW = 0x1000,
SBT_NOBORDERS = 256,
SBT_POPOUT = 512,
SBT_RTLREADING = 1024
}*/
static if(_WIN32_IE >= 0x400) {
enum {
SBT_TOOLTIPS = 0x0800,
SBN_SIMPLEMODECHANGE = SBN_FIRST
}
}
enum {
TBS_AUTOTICKS = 1,
TBS_VERT = 2,
TBS_HORZ = 0,
TBS_TOP = 4,
TBS_BOTTOM = 0,
TBS_LEFT = 4,
TBS_RIGHT = 0,
TBS_BOTH = 8,
TBS_NOTICKS = 16,
TBS_ENABLESELRANGE = 32,
TBS_FIXEDLENGTH = 64,
TBS_NOTHUMB = 128
}
static if (_WIN32_IE >= 0x300) {
enum {
TBS_TOOLTIPS = 0x0100,
TBTS_TOP = 0,
TBTS_LEFT,
TBTS_BOTTOM,
TBTS_RIGHT // = 3
}
}
static if (_WIN32_IE >= 0x500) {
enum {
TBS_REVERSED = 0x0200
}
}
static if (_WIN32_IE >= 0x501) {
enum {
TBS_DOWNISLEFT = 0x0400
}
}
static if (_WIN32_IE >= 0x400) {
enum {
TBIF_BYINDEX = 0x80000000,
TBIF_COMMAND = 32,
TBIF_IMAGE = 1,
TBIF_LPARAM = 16,
TBIF_SIZE = 64,
TBIF_STATE = 4,
TBIF_STYLE = 8,
TBIF_TEXT = 2
}
}
enum {
TBM_GETPOS = WM_USER,
TBM_GETRANGEMIN,
TBM_GETRANGEMAX,
TBM_GETTIC,
TBM_SETTIC,
TBM_SETPOS,
TBM_SETRANGE,
TBM_SETRANGEMIN,
TBM_SETRANGEMAX,
TBM_CLEARTICS,
TBM_SETSEL,
TBM_SETSELSTART,
TBM_SETSELEND, // = WM_USER+12,
TBM_GETPTICS = WM_USER+14,
TBM_GETTICPOS,
TBM_GETNUMTICS,
TBM_GETSELSTART,
TBM_GETSELEND,
TBM_CLEARSEL,
TBM_SETTICFREQ,
TBM_SETPAGESIZE,
TBM_GETPAGESIZE,
TBM_SETLINESIZE,
TBM_GETLINESIZE,
TBM_GETTHUMBRECT,
TBM_GETCHANNELRECT,
TBM_SETTHUMBLENGTH,
TBM_GETTHUMBLENGTH,
TBM_SETTOOLTIPS,
TBM_GETTOOLTIPS,
TBM_SETTIPSIDE,
TBM_SETBUDDY,
TBM_GETBUDDY, // = WM_USER+33,
TBM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT,
TBM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
}
enum {
TB_LINEUP,
TB_LINEDOWN,
TB_PAGEUP,
TB_PAGEDOWN,
TB_THUMBPOSITION,
TB_THUMBTRACK,
TB_TOP,
TB_BOTTOM,
TB_ENDTRACK // = 8
}
enum {
HOTKEYF_SHIFT = 1,
HOTKEYF_CONTROL = 2,
HOTKEYF_ALT = 4,
HOTKEYF_EXT = 8
}
enum {
HKCOMB_NONE = 1,
HKCOMB_S = 2,
HKCOMB_C = 4,
HKCOMB_A = 8,
HKCOMB_SC = 16,
HKCOMB_SA = 32,
HKCOMB_CA = 64,
HKCOMB_SCA = 128
}
enum {
HKM_SETHOTKEY = WM_USER + 1,
HKM_GETHOTKEY = WM_USER + 2,
HKM_SETRULES = WM_USER + 3
}
enum {
PBM_SETRANGE = WM_USER + 1,
PBM_SETPOS,
PBM_DELTAPOS,
PBM_SETSTEP,
PBM_STEPIT, // = WM_USER + 5
PBM_SETRANGE32 = 1030,
PBM_GETRANGE,
PBM_GETPOS,
PBM_SETBARCOLOR, // = 1033
PBM_SETBKCOLOR = CCM_SETBKCOLOR
}
enum {
PBS_SMOOTH = 1,
PBS_VERTICAL = 4
}
enum {
LVS_ICON,
LVS_REPORT,
LVS_SMALLICON,
LVS_LIST, // = 3
LVS_TYPEMASK = 3,
LVS_SINGLESEL = 4,
LVS_SHOWSELALWAYS = 8,
LVS_SORTASCENDING = 16,
LVS_SORTDESCENDING = 32,
LVS_SHAREIMAGELISTS = 64,
LVS_NOLABELWRAP = 128,
LVS_AUTOARRANGE = 256,
LVS_EDITLABELS = 512,
LVS_NOSCROLL = 0x2000,
LVS_TYPESTYLEMASK = 0xFC00,
LVS_ALIGNTOP = 0,
LVS_ALIGNLEFT = 0x800,
LVS_ALIGNMASK = 0xC00,
LVS_OWNERDRAWFIXED = 0x400,
LVS_NOCOLUMNHEADER = 0x4000,
LVS_NOSORTHEADER = 0x8000
}
static if (_WIN32_IE >= 0x300) {
enum {
CDIS_CHECKED = 8,
CDIS_DEFAULT = 32,
CDIS_DISABLED = 4,
CDIS_FOCUS = 16,
CDIS_GRAYED = 2,
CDIS_HOT = 64,
CDIS_SELECTED = 1,
CDIS_MARKED = 128,
CDIS_INDETERMINATE = 256
}
static if (_WIN32_WINNT >= 0x501) {
enum {
CDIS_SHOWKEYBOARDCUES = 512
}
}
enum {
CDDS_POSTERASE = 4,
CDDS_POSTPAINT = 2,
CDDS_PREERASE = 3,
CDDS_PREPAINT = 1,
CDDS_ITEM = 65536,
CDDS_ITEMPOSTERASE = 65540,
CDDS_ITEMPOSTPAINT = 65538,
CDDS_ITEMPREERASE = 65539,
CDDS_ITEMPREPAINT = 65537
}
static if (_WIN32_IE >= 0x400) {
enum {
CDDS_SUBITEM = 0x20000
}
}
enum {
CDRF_DODEFAULT = 0x00,
CDRF_NOTIFYITEMDRAW = 0x20,
CDRF_NOTIFYSUBITEMDRAW = 0x20,
CDRF_NOTIFYITEMERASE = 0x80,
CDRF_NOTIFYPOSTERASE = 0x40,
CDRF_NOTIFYPOSTPAINT = 0x10,
CDRF_NEWFONT = 0x02,
CDRF_SKIPDEFAULT = 0x04
}
static if (_WIN32_IE >= 0x400) {
enum {
LVBKIF_SOURCE_NONE = 0x00000000,
LVBKIF_SOURCE_HBITMAP = 0x00000001,
LVBKIF_SOURCE_URL = 0x00000002,
LVBKIF_SOURCE_MASK = 0x00000003,
LVBKIF_STYLE_NORMAL = 0x00000000,
LVBKIF_STYLE_TILE = 0x00000010,
LVBKIF_STYLE_MASK = 0x00000010
}
}
static if (_WIN32_WINNT >= 0x501) {
enum {
LVBKIF_FLAG_TILEOFFSET = 0x00000100,
LVBKIF_TYPE_WATERMARK = 0x10000000
}
}
enum {
LVS_OWNERDATA = 4096
}
enum {
LVS_EX_CHECKBOXES = 4,
LVS_EX_FULLROWSELECT = 32,
LVS_EX_GRIDLINES = 1,
LVS_EX_HEADERDRAGDROP = 16,
LVS_EX_ONECLICKACTIVATE = 64,
LVS_EX_SUBITEMIMAGES = 2,
LVS_EX_TRACKSELECT = 8,
LVS_EX_TWOCLICKACTIVATE = 128
}
enum {
LVSICF_NOINVALIDATEALL = 0x00000001,
LVSICF_NOSCROLL = 0x00000002
}
static if(_WIN32_IE >= 0x400) {
enum {
LVS_EX_FLATSB = 0x00000100,
LVS_EX_REGIONAL = 0x00000200,
LVS_EX_INFOTIP = 0x00000400,
LVS_EX_UNDERLINEHOT = 0x00000800,
LVS_EX_UNDERLINECOLD = 0x00001000,
LVS_EX_MULTIWORKAREAS = 0x00002000
}
}
static if(_WIN32_IE >= 0x500) {
enum {
LVS_EX_LABELTIP = 0x00004000,
LVS_EX_BORDERSELECT = 0x00008000
}
}
}
enum {
LVSIL_NORMAL,
LVSIL_SMALL,
LVSIL_STATE
}
enum {
LVM_GETBKCOLOR = LVM_FIRST,
LVM_SETBKCOLOR,
LVM_GETIMAGELIST,
LVM_SETIMAGELIST,
LVM_GETITEMCOUNT, // = LVM_FIRST + 4
LVM_SORTITEMSEX = LVM_FIRST + 81,
LVM_SETVIEW = LVM_FIRST + 142,
LVM_GETVIEW, // = LVM_FIRST + 143
LVM_INSERTGROUP = LVM_FIRST + 145,
LVM_SETGROUPINFO = LVM_FIRST + 147,
LVM_GETGROUPINFO = LVM_FIRST + 149,
LVM_REMOVEGROUP,
LVM_MOVEGROUP, // = LVM_FIRST + 151
LVM_SETGROUPMETRICS = LVM_FIRST + 155,
LVM_GETGROUPMETRICS,
LVM_ENABLEGROUPVIEW,
LVM_SORTGROUPS,
LVM_INSERTGROUPSORTED,
LVM_REMOVEALLGROUPS,
LVM_HASGROUP,
LVM_SETTILEVIEWINFO,
LVM_GETTILEVIEWINFO,
LVM_SETTILEINFO,
LVM_GETTILEINFO,
LVM_SETINSERTMARK,
LVM_GETINSERTMARK,
LVM_INSERTMARKHITTEST,
LVM_GETINSERTMARKRECT,
LVM_SETINSERTMARKCOLOR,
LVM_GETINSERTMARKCOLOR, // = LVM_FIRST + 171
LVM_SETINFOTIP = LVM_FIRST + 173,
LVM_GETSELECTEDCOLUMN,
LVM_ISGROUPVIEWENABLED,
LVM_GETOUTLINECOLOR,
LVM_SETOUTLINECOLOR, // = LVM_FIRST + 177
LVM_CANCELEDITLABEL = LVM_FIRST + 179,
LVM_MAPIDTOINDEX = LVM_FIRST + 181
}
static if (_WIN32_WINNT >= 0x501) {
enum {
LVM_SETSELECTEDCOLUMN = LVM_FIRST + 140
}
}
enum {
LVIF_TEXT = 1,
LVIF_IMAGE = 2,
LVIF_PARAM = 4,
LVIF_STATE = 8
}
static if (_WIN32_IE >= 0x300) {
enum {
LVIF_INDENT = 16,
LVIF_NORECOMPUTE = 2048
}
}
static if (_WIN32_WINNT >= 0x501) {
enum {
LVIF_GROUPID = 128,
LVIF_COLUMNS = 256
}
}
enum {
LVIS_FOCUSED = 1,
LVIS_SELECTED = 2,
LVIS_CUT = 4,
LVIS_DROPHILITED = 8,
LVIS_OVERLAYMASK = 0xF00,
LVIS_STATEIMAGEMASK = 0xF000
}
const LPWSTR LPSTR_TEXTCALLBACKW = cast(LPWSTR) -1;
const LPSTR LPSTR_TEXTCALLBACKA = cast(LPSTR) -1;
const I_IMAGECALLBACK = -1;
static if(_WIN32_IE >= 0x400) {
enum {
LVM_SETBKIMAGEA = LVM_FIRST + 68,
LVM_SETBKIMAGEW = LVM_FIRST + 138,
LVM_GETBKIMAGEA = LVM_FIRST + 69,
LVM_GETBKIMAGEW = LVM_FIRST + 139,
LV_MAX_WORKAREAS = 16,
LVM_SETWORKAREAS = LVM_FIRST + 65,
LVM_GETWORKAREAS = LVM_FIRST + 70,
LVM_GETNUMBEROFWORKAREAS = LVM_FIRST + 73,
LVM_GETSELECTIONMARK = LVM_FIRST + 66,
LVM_SETSELECTIONMARK = LVM_FIRST + 67,
LVM_SETHOVERTIME = LVM_FIRST + 71,
LVM_GETHOVERTIME = LVM_FIRST + 72,
LVM_SETTOOLTIPS = LVM_FIRST + 74,
LVM_GETTOOLTIPS = LVM_FIRST + 78,
LVM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
LVM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
}
}
enum {
LVNI_ALL,
LVNI_FOCUSED = 1,
LVNI_SELECTED = 2,
LVNI_CUT = 4,
LVNI_DROPHILITED = 8,
LVNI_ABOVE = 256,
LVNI_BELOW = 512,
LVNI_TOLEFT = 1024,
LVNI_TORIGHT = 2048
}
enum {
LVM_GETITEMA = LVM_FIRST + 5,
LVM_SETITEMA,
LVM_INSERTITEMA,
LVM_DELETEITEM,
LVM_DELETEALLITEMS,
LVM_GETCALLBACKMASK,
LVM_SETCALLBACKMASK,
LVM_GETNEXTITEM,
LVM_FINDITEMA,
LVM_GETITEMRECT,
LVM_SETITEMPOSITION,
LVM_GETITEMPOSITION,
LVM_GETSTRINGWIDTHA,
LVM_HITTEST,
LVM_ENSUREVISIBLE,
LVM_SCROLL,
LVM_REDRAWITEMS,
LVM_ARRANGE,
LVM_EDITLABELA,
LVM_GETEDITCONTROL,
LVM_GETCOLUMNA,
LVM_SETCOLUMNA,
LVM_INSERTCOLUMNA,
LVM_DELETECOLUMN,
LVM_GETCOLUMNWIDTH,
LVM_SETCOLUMNWIDTH, // = LVM_FIRST + 30,
LVM_CREATEDRAGIMAGE = LVM_FIRST + 33,
LVM_GETVIEWRECT,
LVM_GETTEXTCOLOR,
LVM_SETTEXTCOLOR,
LVM_GETTEXTBKCOLOR,
LVM_SETTEXTBKCOLOR,
LVM_GETTOPINDEX,
LVM_GETCOUNTPERPAGE,
LVM_GETORIGIN,
LVM_UPDATE,
LVM_SETITEMSTATE,
LVM_GETITEMSTATE,
LVM_GETITEMTEXTA,
LVM_SETITEMTEXTA,
LVM_SETITEMCOUNT,
LVM_SORTITEMS,
LVM_SETITEMPOSITION32,
LVM_GETSELECTEDCOUNT,
LVM_GETITEMSPACING,
LVM_GETISEARCHSTRINGA, // = LVM_FIRST + 52,
LVM_GETITEMW = LVM_FIRST + 75,
LVM_SETITEMW = LVM_FIRST + 76,
LVM_INSERTITEMW = LVM_FIRST + 77,
LVM_FINDITEMW = LVM_FIRST + 83,
LVM_GETSTRINGWIDTHW = LVM_FIRST + 87,
LVM_GETCOLUMNW = LVM_FIRST + 95,
LVM_SETCOLUMNW = LVM_FIRST + 96,
LVM_INSERTCOLUMNW = LVM_FIRST + 97,
LVM_GETITEMTEXTW = LVM_FIRST + 115,
LVM_SETITEMTEXTW,
LVM_GETISEARCHSTRINGW,
LVM_EDITLABELW // = LVM_FIRST + 118,
}
static if (_WIN32_IE >= 0x300) {
enum {
LVM_GETHEADER = LVM_FIRST + 31,
LVM_SETICONSPACING = LVM_FIRST + 53,
LVM_SETEXTENDEDLISTVIEWSTYLE,
LVM_GETEXTENDEDLISTVIEWSTYLE,
LVM_GETSUBITEMRECT,
LVM_SUBITEMHITTEST,
LVM_SETCOLUMNORDERARRAY,
LVM_GETCOLUMNORDERARRAY,
LVM_SETHOTITEM,
LVM_GETHOTITEM,
LVM_SETHOTCURSOR,
LVM_GETHOTCURSOR,
LVM_APPROXIMATEVIEWRECT // = LVM_FIRST + 64,
}
}
enum {
LVFI_PARAM = 1,
LVFI_STRING = 2,
LVFI_PARTIAL = 8,
LVFI_WRAP = 32,
LVFI_NEARESTXY = 64
}
enum {
LVIF_DI_SETITEM = 0x1000
}
enum {
LVIR_BOUNDS,
LVIR_ICON,
LVIR_LABEL,
LVIR_SELECTBOUNDS // = 3
}
enum {
LVHT_NOWHERE = 1,
LVHT_ONITEMICON = 2,
LVHT_ONITEMLABEL = 4,
LVHT_ONITEMSTATEICON = 8,
LVHT_ONITEM = LVHT_ONITEMICON | LVHT_ONITEMLABEL
| LVHT_ONITEMSTATEICON,
LVHT_ABOVE = 8,
LVHT_BELOW = 16,
LVHT_TORIGHT = 32,
LVHT_TOLEFT = 64
}
enum {
LVA_DEFAULT = 0,
LVA_ALIGNLEFT = 1,
LVA_ALIGNTOP = 2,
LVA_SNAPTOGRID = 5
}
enum {
LVCF_FMT = 1,
LVCF_WIDTH = 2,
LVCF_TEXT = 4,
LVCF_SUBITEM = 8
}
static if (_WIN32_IE >= 0x300) {
enum {
LVCF_IMAGE = 16,
LVCF_ORDER = 32
}
}
enum {
LVCFMT_LEFT,
LVCFMT_RIGHT,
LVCFMT_CENTER,
LVCFMT_JUSTIFYMASK // = 3
}
static if (_WIN32_IE >= 0x300) {
enum {
LVCFMT_IMAGE = 2048,
LVCFMT_BITMAP_ON_RIGHT = 4096,
LVCFMT_COL_HAS_IMAGES = 32768
}
}
enum {
LVSCW_AUTOSIZE = -1,
LVSCW_AUTOSIZE_USEHEADER = -2
}
enum {
LVN_ITEMCHANGING = LVN_FIRST,
LVN_ITEMCHANGED = LVN_FIRST - 1,
LVN_INSERTITEM = LVN_FIRST - 2,
LVN_DELETEITEM = LVN_FIRST - 3,
LVN_DELETEALLITEMS = LVN_FIRST - 4,
LVN_BEGINLABELEDITA = LVN_FIRST - 5,
LVN_ENDLABELEDITA = LVN_FIRST - 6,
LVN_COLUMNCLICK = LVN_FIRST - 8,
LVN_BEGINDRAG = LVN_FIRST - 9,
LVN_BEGINRDRAG = LVN_FIRST - 11,
LVN_GETDISPINFOA = LVN_FIRST - 50,
LVN_SETDISPINFOA = LVN_FIRST - 51,
LVN_KEYDOWN = LVN_FIRST - 55,
LVN_BEGINLABELEDITW = LVN_FIRST - 75,
LVN_ENDLABELEDITW = LVN_FIRST - 76,
LVN_GETDISPINFOW = LVN_FIRST - 77,
LVN_SETDISPINFOW = LVN_FIRST - 78
}
static if (_WIN32_IE >= 0x400) {
enum {
LVN_MARQUEEBEGIN = LVN_FIRST - 56,
LVN_GETINFOTIPA = LVN_FIRST - 57,
LVN_GETINFOTIPW = LVN_FIRST - 58,
LVKF_ALT = 1,
LVKF_CONTROL = 2,
LVKF_SHIFT = 4,
LVGIT_UNFOLDED = 1
}
}
enum {
TVS_HASBUTTONS = 1,
TVS_HASLINES = 2,
TVS_LINESATROOT = 4,
TVS_EDITLABELS = 8,
TVS_DISABLEDRAGDROP = 16,
TVS_SHOWSELALWAYS = 32
}
static if (_WIN32_IE >= 0x300) {
enum {
TVS_RTLREADING = 64,
TVS_NOTOOLTIPS = 128,
TVS_CHECKBOXES = 256,
TVS_TRACKSELECT = 512
}
}
static if (_WIN32_IE >= 0x400) {
enum {
TVS_SINGLEEXPAND = 1024,
TVS_INFOTIP = 2048,
TVS_FULLROWSELECT = 4096,
TVS_NOSCROLL = 8192,
TVS_NONEVENHEIGHT = 16384
}
}
static if (_WIN32_IE >= 0x500) {
enum {
TVS_NOHSCROLL = 0x8000
}
}
enum {
TVIF_TEXT = 1,
TVIF_IMAGE = 2,
TVIF_PARAM = 4,
TVIF_STATE = 8,
TVIF_HANDLE = 16,
TVIF_SELECTEDIMAGE = 32,
TVIF_CHILDREN = 64
}
static if (_WIN32_IE >= 0x400) {
enum {
TVIF_INTEGRAL = 0x0080
}
}
enum {
TVIS_FOCUSED = 1,
TVIS_SELECTED = 2,
TVIS_CUT = 4,
TVIS_DROPHILITED = 8,
TVIS_BOLD = 16,
TVIS_EXPANDED = 32,
TVIS_EXPANDEDONCE = 64,
TVIS_OVERLAYMASK = 0xF00,
TVIS_STATEIMAGEMASK = 0xF000,
TVIS_USERMASK = 0xF000
}
enum {
I_CHILDRENCALLBACK = -1
}
alias HANDLE HTREEITEM;
const HTREEITEM
TVI_ROOT = cast(HTREEITEM) 0xFFFF0000,
TVI_FIRST = cast(HTREEITEM) 0xFFFF0001,
TVI_LAST = cast(HTREEITEM) 0xFFFF0002,
TVI_SORT = cast(HTREEITEM) 0xFFFF0003;
enum {
TVSIL_NORMAL = 0,
TVSIL_STATE = 2
}
enum {
TVM_INSERTITEMA = TV_FIRST,
TVM_DELETEITEM = TV_FIRST + 1,
TVM_EXPAND = TV_FIRST + 2,
TVM_GETITEMRECT = TV_FIRST + 4,
TVM_GETCOUNT,
TVM_GETINDENT,
TVM_SETINDENT,
TVM_GETIMAGELIST,
TVM_SETIMAGELIST,
TVM_GETNEXTITEM,
TVM_SELECTITEM,
TVM_GETITEMA,
TVM_SETITEMA,
TVM_EDITLABELA,
TVM_GETEDITCONTROL,
TVM_GETVISIBLECOUNT,
TVM_HITTEST,
TVM_CREATEDRAGIMAGE,
TVM_SORTCHILDREN,
TVM_ENSUREVISIBLE,
TVM_SORTCHILDRENCB,
TVM_ENDEDITLABELNOW,
TVM_GETISEARCHSTRINGA, // = TV_FIRST + 23
TVM_INSERTITEMW = TV_FIRST + 50,
TVM_GETITEMW = TV_FIRST + 62,
TVM_SETITEMW = TV_FIRST + 63,
TVM_GETISEARCHSTRINGW = TV_FIRST + 64,
TVM_EDITLABELW = TV_FIRST + 65
}
static if (_WIN32_IE >= 0x300) {
enum {
TVM_GETTOOLTIPS = TV_FIRST + 25,
TVM_SETTOOLTIPS = TV_FIRST + 24
}
}
static if (_WIN32_IE >= 0x400) {
enum {
TVM_SETINSERTMARK = TV_FIRST + 26,
TVM_SETITEMHEIGHT,
TVM_GETITEMHEIGHT,
TVM_SETBKCOLOR,
TVM_SETTEXTCOLOR,
TVM_GETBKCOLOR,
TVM_GETTEXTCOLOR,
TVM_SETSCROLLTIME,
TVM_GETSCROLLTIME, // = TV_FIRST + 34
TVM_SETINSERTMARKCOLOR = TV_FIRST + 37,
TVM_GETINSERTMARKCOLOR = TV_FIRST + 38,
TVM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
TVM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
}
}
static if (_WIN32_IE >= 0x500) {
enum {
TVM_GETITEMSTATE = TV_FIRST + 39,
TVM_SETLINECOLOR = TV_FIRST + 40,
TVM_GETLINECOLOR = TV_FIRST + 41
}
}
enum {
TVE_COLLAPSE = 1,
TVE_EXPAND = 2,
TVE_TOGGLE = 3,
TVE_COLLAPSERESET = 0x8000
}
static if (_WIN32_IE >= 0x300) {
enum {
TVE_EXPANDPARTIAL = 0x4000
}
}
enum {
TVC_UNKNOWN,
TVC_BYMOUSE,
TVC_BYKEYBOARD // = 2
}
enum {
TVGN_ROOT,
TVGN_NEXT,
TVGN_PREVIOUS,
TVGN_PARENT,
TVGN_CHILD,
TVGN_FIRSTVISIBLE,
TVGN_NEXTVISIBLE,
TVGN_PREVIOUSVISIBLE,
TVGN_DROPHILITE,
TVGN_CARET // = 9
}
static if (_WIN32_IE >= 0x400) {
enum {
TVGN_LASTVISIBLE = 10
}
}
enum {
TVN_SELCHANGINGA = TVN_FIRST - 1,
TVN_SELCHANGEDA = TVN_FIRST - 2,
TVN_GETDISPINFOA = TVN_FIRST - 3,
TVN_SETDISPINFOA = TVN_FIRST - 4,
TVN_ITEMEXPANDINGA = TVN_FIRST - 5,
TVN_ITEMEXPANDEDA = TVN_FIRST - 6,
TVN_BEGINDRAGA = TVN_FIRST - 7,
TVN_BEGINRDRAGA = TVN_FIRST - 8,
TVN_DELETEITEMA = TVN_FIRST - 9,
TVN_BEGINLABELEDITA = TVN_FIRST - 10,
TVN_ENDLABELEDITA = TVN_FIRST - 11,
TVN_KEYDOWN = TVN_FIRST - 12,
TVN_SELCHANGINGW = TVN_FIRST - 50,
TVN_SELCHANGEDW = TVN_FIRST - 51,
TVN_GETDISPINFOW = TVN_FIRST - 52,
TVN_SETDISPINFOW = TVN_FIRST - 53,
TVN_ITEMEXPANDINGW = TVN_FIRST - 54,
TVN_ITEMEXPANDEDW = TVN_FIRST - 55,
TVN_BEGINDRAGW = TVN_FIRST - 56,
TVN_BEGINRDRAGW = TVN_FIRST - 57,
TVN_DELETEITEMW = TVN_FIRST - 58,
TVN_BEGINLABELEDITW = TVN_FIRST - 59,
TVN_ENDLABELEDITW = TVN_FIRST - 60
}
static if (_WIN32_IE >= 0x400) {
enum {
TVNRET_DEFAULT = 0,
TVNRET_SKIPOLD = 1,
TVNRET_SKIPNEW = 2,
TVN_GETINFOTIPA = TVN_FIRST - 13,
TVN_GETINFOTIPW = TVN_FIRST - 14,
TVN_SINGLEEXPAND = TVN_FIRST - 15
}
}
enum {
TVIF_DI_SETITEM = 0x1000
}
enum {
TVHT_NOWHERE = 1,
TVHT_ONITEMICON = 2,
TVHT_ONITEMLABEL = 4,
TVHT_ONITEMINDENT = 8,
TVHT_ONITEMBUTTON = 16,
TVHT_ONITEMRIGHT = 32,
TVHT_ONITEMSTATEICON = 64,
TVHT_ABOVE = 256,
TVHT_BELOW = 512,
TVHT_TORIGHT = 1024,
TVHT_TOLEFT = 2048,
TCHT_NOWHERE = 1,
TCHT_ONITEMICON = 2,
TCHT_ONITEMLABEL = 4,
TVHT_ONITEM = TVHT_ONITEMICON | TVHT_ONITEMLABEL
| TVHT_ONITEMSTATEICON,
TCHT_ONITEM = TCHT_ONITEMICON | TCHT_ONITEMLABEL
}
enum {
TCS_TABS = 0,
TCS_RIGHTJUSTIFY = 0,
TCS_SINGLELINE = 0,
TCS_FORCEICONLEFT = 16,
TCS_FORCELABELLEFT = 32,
TCS_BUTTONS = 256,
TCS_MULTILINE = 512,
TCS_FIXEDWIDTH = 1024,
TCS_RAGGEDRIGHT = 2048,
TCS_FOCUSONBUTTONDOWN = 0x1000,
TCS_OWNERDRAWFIXED = 0x2000,
TCS_TOOLTIPS = 0x4000,
TCS_FOCUSNEVER = 0x8000
}
static if (_WIN32_IE >= 0x300) {
enum {
TCS_BOTTOM = 2,
TCS_RIGHT = 2,
TCS_VERTICAL = 128,
TCS_SCROLLOPPOSITE = 0x0001,
TCS_HOTTRACK = 0x0040,
TCS_MULTISELECT = 0x0004
}
}
static if(_WIN32_IE >= 0x400) {
enum {
TCS_FLATBUTTONS = 0x0008,
TCS_EX_FLATSEPARATORS = 0x00000001,
TCS_EX_REGISTERDROP = 0x00000002
}
}
enum {
TCIF_TEXT = 1,
TCIF_IMAGE = 2,
TCIF_RTLREADING = 4,
TCIF_PARAM = 8
}
static if (_WIN32_IE >= 0x400) {
enum {
TCIF_STATE = 16
}
}
enum {
TCIS_BUTTONPRESSED = 1
}
static if (_WIN32_IE >= 0x400) {
enum {
TCIS_HIGHLIGHTED = 2
}
}
enum {
TCM_FIRST = 0x1300,
TCM_GETIMAGELIST = TCM_FIRST + 2,
TCM_SETIMAGELIST,
TCM_GETITEMCOUNT,
TCM_GETITEMA,
TCM_SETITEMA,
TCM_INSERTITEMA,
TCM_DELETEITEM,
TCM_DELETEALLITEMS,
TCM_GETITEMRECT,
TCM_GETCURSEL,
TCM_SETCURSEL,
TCM_HITTEST,
TCM_SETITEMEXTRA, // = TCM_FIRST + 14
TCM_ADJUSTRECT = TCM_FIRST + 40,
TCM_SETITEMSIZE,
TCM_REMOVEIMAGE,
TCM_SETPADDING,
TCM_GETROWCOUNT,
TCM_GETTOOLTIPS,
TCM_SETTOOLTIPS,
TCM_GETCURFOCUS,
TCM_SETCURFOCUS,
TCM_SETMINTABWIDTH,
TCM_DESELECTALL, // = TCM_FIRST + 50
TCM_GETITEMW = TCM_FIRST + 60,
TCM_SETITEMW = TCM_FIRST + 61,
TCM_INSERTITEMW = TCM_FIRST + 62
}
static if (_WIN32_IE >=0x0400) {
enum {
TCM_HIGHLIGHTITEM = TCM_FIRST + 51,
TCM_SETEXTENDEDSTYLE = TCM_FIRST + 52,
TCM_GETEXTENDEDSTYLE = TCM_FIRST + 53,
TCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
TCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
}
}
enum {
TCN_KEYDOWN = TCN_FIRST,
TCN_SELCHANGE = TCN_FIRST - 1,
TCN_SELCHANGING = TCN_FIRST - 2
}
enum {
NM_OUTOFMEMORY = NM_FIRST - 1,
NM_CLICK = NM_FIRST - 2,
NM_DBLCLK = NM_FIRST - 3,
NM_RETURN = NM_FIRST - 4,
NM_RCLICK = NM_FIRST - 5,
NM_RDBLCLK = NM_FIRST - 6,
NM_SETFOCUS = NM_FIRST - 7,
NM_KILLFOCUS = NM_FIRST - 8,
NM_CUSTOMDRAW = NM_FIRST - 12,
NM_HOVER = NM_FIRST - 13,
NM_NCHITTEST = NM_FIRST - 14,
NM_KEYDOWN = NM_FIRST - 15,
NM_RELEASEDCAPTURE = NM_FIRST - 16,
NM_SETCURSOR = NM_FIRST - 17,
NM_CHAR = NM_FIRST - 18,
NM_TOOLTIPSCREATED = NM_FIRST - 19
}
enum {
SBARS_SIZEGRIP = 256
}
/*enum {
CCM_FIRST = 0x2000,
CCM_LAST = CCM_FIRST + 0x200,
CCM_SETBKCOLOR = 8193,
CCM_SETCOLORSCHEME = 8194,
CCM_GETCOLORSCHEME = 8195,
CCM_GETDROPTARGET = 8196,
CCM_SETUNICODEFORMAT = 8197,
CCM_GETUNICODEFORMAT = 8198,
CCM_SETVERSION = 0x2007,
CCM_GETVERSION = 0x2008,
CCM_SETNOTIFYWINDOW = 0x2009
}*/
static if (_WIN32_WINNT >= 0x501) {
enum {
CCM_SETWINDOWTHEME = 0x200b,
CCM_DPISCALE = 0x200c
}
}
enum {
ICC_LISTVIEW_CLASSES = 1,
ICC_TREEVIEW_CLASSES = 2,
ICC_BAR_CLASSES = 4,
ICC_TAB_CLASSES = 8,
ICC_UPDOWN_CLASS = 16,
ICC_PROGRESS_CLASS = 32,
ICC_HOTKEY_CLASS = 64,
ICC_ANIMATE_CLASS = 128,
ICC_WIN95_CLASSES = 255,
ICC_DATE_CLASSES = 256,
ICC_USEREX_CLASSES = 512,
ICC_COOL_CLASSES = 1024
}
static if (_WIN32_IE >= 0x400) {
enum {
INFOTIPSIZE = 1024,
ICC_INTERNET_CLASSES = 2048,
ICC_PAGESCROLLER_CLASS = 4096,
ICC_NATIVEFNTCTL_CLASS = 8192
}
}
static if (_WIN32_WINNT >= 0x501) {
enum {
ICC_STANDARD_CLASSES = 0x00004000,
ICC_LINK_CLASS = 0x00008000
}
}
enum {
GDTR_MIN = 1,
GDTR_MAX = 2
}
enum {
GMR_VISIBLE,
GMR_DAYSTATE
}
enum {
GDT_ERROR = -1,
GDT_VALID = 0,
GDT_NONE = 1
}
enum {
DTS_SHORTDATEFORMAT = 0,
DTS_UPDOWN = 1,
DTS_SHOWNONE = 2,
DTS_LONGDATEFORMAT = 4,
DTS_TIMEFORMAT = 9,
DTS_APPCANPARSE = 16,
DTS_RIGHTALIGN = 32
}
static if (_WIN32_IE >= 0x500) {
enum {
DTS_SHORTDATECENTURYFORMAT = 0x000C
}
}
enum {
MCS_DAYSTATE = 1,
MCS_MULTISELECT = 2,
MCS_WEEKNUMBERS = 4
}
static if (_WIN32_IE >= 0x400) {
enum {
MCS_NOTODAYCIRCLE = 0x0008,
MCS_NOTODAY = 0x0010
}
} else {
enum {
MCS_NOTODAY = 0x0008
}
}
enum {
DTM_GETSYSTEMTIME = 0x1001,
DTM_SETSYSTEMTIME = 0x1002,
DTM_GETRANGE = 0x1003,
DTM_SETRANGE = 0x1004,
DTM_SETFORMATA = 0x1005,
DTM_SETMCCOLOR = 0x1006,
DTM_GETMCCOLOR = 0x1007,
DTM_GETMONTHCAL = 0x1008,
DTM_SETMCFONT = 0x1009,
DTM_GETMCFONT = 0x100a,
DTM_SETFORMATW = 0x1050
}
enum {
DTN_USERSTRINGA = -758U,
DTN_USERSTRINGW = -745U,
DTN_WMKEYDOWNA = -757U,
DTN_WMKEYDOWNW = -744U,
DTN_FORMATA = -756U,
DTN_FORMATW = -743U,
DTN_FORMATQUERYA = -755U,
DTN_FORMATQUERYW = -742U,
DTN_DROPDOWN = -754U,
DTN_CLOSEUP = -753U,
DTN_DATETIMECHANGE = -759U,
}
enum {
MCM_GETCURSEL = 0x1001,
MCM_SETCURSEL = 0x1002,
MCM_GETMAXSELCOUNT = 0x1003,
MCM_SETMAXSELCOUNT = 0x1004,
MCM_GETSELRANGE = 0x1005,
MCM_SETSELRANGE = 0x1006,
MCM_GETMONTHRANGE = 0x1007,
MCM_SETDAYSTATE = 0x1008,
MCM_GETMINREQRECT = 0x1009,
MCM_SETCOLOR = 0x100a,
MCM_GETCOLOR = 0x100b,
MCM_SETTODAY = 0x100c,
MCM_GETTODAY = 0x100d,
MCM_HITTEST = 0x100e,
MCM_SETFIRSTDAYOFWEEK = 0x100f,
MCM_GETFIRSTDAYOFWEEK = 0x1010,
MCM_GETRANGE = 0x1011,
MCM_SETRANGE = 0x1012,
MCM_GETMONTHDELTA = 0x1013,
MCM_SETMONTHDELTA = 0x1014,
MCM_GETMAXTODAYWIDTH = 0x1015,
MCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT,
MCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
}
enum {
MCN_SELCHANGE = -749U,
MCN_GETDAYSTATE = -747U,
MCN_SELECT = -746U
}
enum {
ODT_HEADER = 100,
ODT_TAB,
ODT_LISTVIEW // = 102
}
enum {
SB_SETBKCOLOR = 0x2001
}
static if (_WIN32_IE >= 0x300) {
enum {
SB_ISSIMPLE = 1038
}
enum {
MCSC_BACKGROUND,
MCSC_TEXT,
MCSC_TITLEBK,
MCSC_TITLETEXT,
MCSC_MONTHBK,
MCSC_TRAILINGTEXT // = 5
}
}
static if (_WIN32_IE >= 0x400) {
enum {
MCHT_TITLE = 0x10000,
MCHT_CALENDAR = 0x20000,
MCHT_TODAYLINK = 0x30000,
MCHT_NEXT = 0x1000000,
MCHT_PREV = 0x2000000,
MCHT_NOWHERE = 0x00,
MCHT_TITLEBK = MCHT_TITLE,
MCHT_TITLEMONTH = MCHT_TITLE | 0x0001,
MCHT_TITLEYEAR = MCHT_TITLE | 0x0002,
MCHT_TITLEBTNNEXT = MCHT_TITLE | MCHT_NEXT | 0x0003,
MCHT_TITLEBTNPREV = MCHT_TITLE | MCHT_PREV | 0x0003,
MCHT_CALENDARBK = MCHT_CALENDAR,
MCHT_CALENDARDATE = MCHT_CALENDAR | 0x0001,
MCHT_CALENDARDATENEXT = MCHT_CALENDARDATE | MCHT_NEXT,
MCHT_CALENDARDATEPREV = MCHT_CALENDARDATE | MCHT_PREV,
MCHT_CALENDARDAY = MCHT_CALENDAR | 0x0002,
MCHT_CALENDARWEEKNUM = MCHT_CALENDAR | 0x0003
}
}
enum {
RBS_TOOLTIPS = 256,
RBS_VARHEIGHT = 512,
RBS_BANDBORDERS = 1024,
RBS_FIXEDORDER = 2048
}
enum {
RBIM_IMAGELIST = 1
}
enum {
RB_SETCOLORSCHEME = CCM_SETCOLORSCHEME,
RB_GETCOLORSCHEME = CCM_GETCOLORSCHEME
}
enum {
RBBS_BREAK = 0x0001,
RBBS_FIXEDSIZE = 0x0002,
RBBS_CHILDEDGE = 0x0004,
RBBS_HIDDEN = 0x0008,
RBBS_NOVERT = 0x0010,
RBBS_FIXEDBMP = 0x0020,
RBBS_VARIABLEHEIGHT = 0x0040,
RBBS_GRIPPERALWAYS = 0x0080,
RBBS_NOGRIPPER = 0x0100
}
static if (_WIN32_IE >= 0x500) {
enum {
RBBS_USECHEVRON = 0x0200
}
}
static if (_WIN32_IE >= 0x501) {
enum {
RBBS_HIDETITLE = 0x0400,
RBBS_TOPALIGN = 0x0800
}
}
enum {
RBBIM_STYLE = 1,
RBBIM_COLORS = 2,
RBBIM_TEXT = 4,
RBBIM_IMAGE = 8,
RBBIM_CHILD = 16,
RBBIM_CHILDSIZE = 32,
RBBIM_SIZE = 64,
RBBIM_BACKGROUND = 128,
RBBIM_ID = 256
}
enum {
RB_INSERTBANDA = WM_USER + 1,
RB_DELETEBAND,
RB_GETBARINFO,
RB_SETBARINFO, // = WM_USER + 4
RB_SETBANDINFOA = WM_USER + 6,
RB_SETPARENT = WM_USER + 7,
RB_INSERTBANDW = WM_USER + 10,
RB_SETBANDINFOW,
RB_GETBANDCOUNT,
RB_GETROWCOUNT,
RB_GETROWHEIGHT // = WM_USER + 14,
}
enum {
RBN_HEIGHTCHANGE = RBN_FIRST
}
static if (_WIN32_IE >= 0x300) {
enum {
LVN_ODCACHEHINT = LVN_FIRST - 13,
LVN_ODFINDITEMA = LVN_FIRST - 52,
LVN_ODFINDITEMW = LVN_FIRST - 79,
LVN_ITEMACTIVATE = LVN_FIRST - 14,
LVN_ODSTATECHANGED = LVN_FIRST - 15
}
version (Unicode) {
enum {
LVN_ODFINDITEM = LVN_ODFINDITEMW
}
} else {
enum {
LVN_ODFINDITEM = LVN_ODFINDITEMA
}
}
}
static if (_WIN32_IE >= 0x400) {
enum {
SB_SETICON = 1039,
SB_SETTIPTEXTA,
SB_SETTIPTEXTW,
SB_GETTIPTEXTA,
SB_GETTIPTEXTW,
SB_GETICON, // = 1044
SB_SETUNICODEFORMAT = 0x2005,
SB_GETUNICODEFORMAT = 0x2006
}
enum {
PGF_INVISIBLE = 0,
PGF_NORMAL = 1,
PGF_GRAYED = 2,
PGF_DEPRESSED = 4,
PGF_HOT = 8
}
enum {
PGB_TOPORLEFT,
PGB_BOTTOMORRIGHT
}
enum {
PGF_SCROLLUP = 1,
PGF_SCROLLDOWN = 2,
PGF_SCROLLLEFT = 4,
PGF_SCROLLRIGHT = 8
}
enum {
PGK_SHIFT = 1,
PGK_CONTROL = 2,
PGK_MENU = 4
}
enum {
PGF_CALCWIDTH = 1,
PGF_CALCHEIGHT = 2
}
enum {
PGM_FIRST = 0x1400,
PGM_SETCHILD = PGM_FIRST + 1,
PGM_RECALCSIZE,
PGM_FORWARDMOUSE,
PGM_SETBKCOLOR,
PGM_GETBKCOLOR,
PGM_SETBORDER,
PGM_GETBORDER,
PGM_SETPOS,
PGM_GETPOS,
PGM_SETBUTTONSIZE,
PGM_GETBUTTONSIZE,
PGM_GETBUTTONSTATE, // = PGM_FIRST + 12
PGM_GETDROPTARGET = CCM_GETDROPTARGET
}
enum {
RBS_REGISTERDROP = 4096,
RBS_AUTOSIZE = 8192,
RBS_VERTICALGRIPPER = 16384,
RBS_DBLCLKTOGGLE = 32768
}
enum {
RBBIM_IDEALSIZE = 512,
RBBIM_LPARAM = 1024,
RBBIM_HEADERSIZE = 2048
}
enum {
RB_HITTEST = WM_USER + 8,
RB_GETRECT = WM_USER + 9,
RB_IDTOINDEX = WM_USER + 16,
RB_GETTOOLTIPS,
RB_SETTOOLTIPS,
RB_SETBKCOLOR,
RB_GETBKCOLOR,
RB_SETTEXTCOLOR,
RB_GETTEXTCOLOR,
RB_SIZETORECT,
RB_BEGINDRAG,
RB_ENDDRAG,
RB_DRAGMOVE,
RB_GETBARHEIGHT,
RB_GETBANDINFOW,
RB_GETBANDINFOA,
RB_MINIMIZEBAND,
RB_MAXIMIZEBAND, // = WM_USER + 31
RB_GETDROPTARGET = CCM_GETDROPTARGET,
RB_GETBANDBORDERS = WM_USER + 34,
RB_SHOWBAND = WM_USER + 35,
RB_SETPALETTE = WM_USER + 37,
RB_GETPALETTE = WM_USER + 38,
RB_MOVEBAND = WM_USER + 39,
RB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
RB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
}
enum {
RBN_GETOBJECT = RBN_FIRST - 1,
RBN_LAYOUTCHANGED = RBN_FIRST - 2,
RBN_AUTOSIZE = RBN_FIRST - 3,
RBN_BEGINDRAG = RBN_FIRST - 4,
RBN_ENDDRAG = RBN_FIRST - 5,
RBN_DELETINGBAND = RBN_FIRST - 6,
RBN_DELETEDBAND = RBN_FIRST - 7,
RBN_CHILDSIZE = RBN_FIRST - 8
}
enum {
RBNM_ID = 1,
RBNM_STYLE = 2,
RBNM_LPARAM = 4
}
enum {
RBHT_NOWHERE = 1,
RBHT_CAPTION,
RBHT_CLIENT,
RBHT_GRABBER
}
version (Unicode) {
alias SB_SETTIPTEXTW SB_SETTIPTEXT;
alias SB_GETTIPTEXTW SB_GETTIPTEXT;
alias RB_GETBANDINFOW RB_GETBANDINFO;
} else {
alias SB_SETTIPTEXTA SB_SETTIPTEXT;
alias SB_GETTIPTEXTA SB_GETTIPTEXT;
alias RB_GETBANDINFOA RB_GETBANDINFO;
}
} else {
enum {
RB_GETBANDINFO = WM_USER + 5
}
}
enum {
CBEM_INSERTITEMA = WM_USER + 1,
CBEM_SETIMAGELIST,
CBEM_GETIMAGELIST,
CBEM_GETITEMA,
CBEM_SETITEMA,
CBEM_GETCOMBOCONTROL,
CBEM_GETEDITCONTROL,
CBEM_SETEXSTYLE,
CBEM_GETEXSTYLE, // = WM_USER + 9)
CBEM_DELETEITEM = CB_DELETESTRING
}
static if (_WIN32_IE >= 0x400) {
enum {
CBEM_SETEXTENDEDSTYLE = WM_USER + 14,
CBEM_GETEXTENDEDSTYLE = WM_USER + 9,
CBEM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
CBEM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
}
}
enum {
CBEM_HASEDITCHANGED = WM_USER + 10,
CBEM_INSERTITEMW = WM_USER + 11,
CBEM_SETITEMW = WM_USER + 12,
CBEM_GETITEMW = WM_USER + 13
}
enum {
DA_LAST = 0x7fffffff
}
enum {
DPA_APPEND = 0x7fffffff,
DPA_ERR = -1
}
enum {
DSA_APPEND = 0x7fffffff,
DSA_ERR = -1
}
enum {
DPAS_SORTED = 1,
DPAS_INSERTBEFORE = 2,
DPAS_INSERTAFTER = 4
}
static if (_WIN32_IE >= 0x400) {
enum {
WSB_PROP_CYVSCROLL = 1,
WSB_PROP_CXHSCROLL = 2,
WSB_PROP_CYHSCROLL = 4,
WSB_PROP_CXVSCROLL = 8,
WSB_PROP_CXHTHUMB = 16,
WSB_PROP_CYVTHUMB = 32,
WSB_PROP_VBKGCOLOR = 64,
WSB_PROP_HBKGCOLOR = 128,
WSB_PROP_VSTYLE = 256,
WSB_PROP_HSTYLE = 512,
WSB_PROP_WINSTYLE = 1024,
WSB_PROP_PALETTE = 2048,
WSB_PROP_MASK = 0xfff,
FSB_FLAT_MODE = 2,
FSB_ENCARTA_MODE = 1,
FSB_REGULAR_MODE = 0
}
}
static if (_WIN32_WINNT >= 0x0501) {
enum {
LIF_ITEMINDEX = 1,
LIF_STATE = 2,
LIF_ITEMID = 4,
LIF_URL = 8
}
enum {
LIS_FOCUSED = 1,
LIS_ENABLED = 2,
LIS_VISITED = 4
}
enum {
LM_HITTEST = WM_USER + 768,
LM_GETIDEALHEIGHT,
LM_SETITEM,
LM_GETITEM // = WM_USER + 771
}
const size_t MAX_LINKID_TEXT = 48;
const size_t L_MAX_URL_LENGTH = 2084;
}
struct COMBOBOXEXITEMA {
UINT mask;
int iItem;
LPSTR pszText;
int cchTextMax;
int iImage;
int iSelectedImage;
int iOverlay;
int iIndent;
LPARAM lParam;
}
alias COMBOBOXEXITEMA* PCOMBOBOXEXITEMA;
alias CPtr!(COMBOBOXEXITEMA) PCCOMBOEXITEMA;
struct COMBOBOXEXITEMW {
UINT mask;
int iItem;
LPWSTR pszText;
int cchTextMax;
int iImage;
int iSelectedImage;
int iOverlay;
int iIndent;
LPARAM lParam;
}
alias COMBOBOXEXITEMW* PCOMBOBOXEXITEMW;
alias CPtr!(COMBOBOXEXITEMW) PCCOMBOEXITEMW;
static if (_WIN32_IE >= 0x400) {
struct NMCOMBOBOXEXA {
NMHDR hdr;
COMBOBOXEXITEMA ceItem;
}
alias NMCOMBOBOXEXA* PNMCOMBOBOXEXA;
struct NMCOMBOBOXEXW {
NMHDR hdr;
COMBOBOXEXITEMW ceItem;
}
alias NMCOMBOBOXEXW* PNMCOMBOBOXEXW;
struct NMCBEDRAGBEGINW {
NMHDR hdr;
int iItemid;
WCHAR szText[CBEMAXSTRLEN];
}
alias NMCBEDRAGBEGINW* LPNMCBEDRAGBEGINW, PNMCBEDRAGBEGINW;
struct NMCBEDRAGBEGINA {
NMHDR hdr;
int iItemid;
char szText[CBEMAXSTRLEN];
}
alias NMCBEDRAGBEGINA* LPNMCBEDRAGBEGINA, PNMCBEDRAGBEGINA;
struct NMIPADDRESS {
NMHDR hdr;
int iField;
int iValue;
}
alias NMIPADDRESS* LPNMIPADDRESS;
struct NMLVKEYDOWN {
NMHDR hdr;
WORD wVKey;
UINT flags;
}
alias NMLVKEYDOWN* LPNMLVKEYDOWN;
struct NMPGCALCSIZE {
NMHDR hdr;
DWORD dwFlag;
int iWidth;
int iHeight;
}
alias NMPGCALCSIZE* LPNMPGCALCSIZE;
struct NMPGSCROLL {
NMHDR hdr;
BOOL fwKeys;
RECT rcParent;
int iDir;
int iXpos;
int iYpos;
int iScroll;
}
alias NMPGSCROLL* LPNMPGSCROLL;
struct NMSELCHANGE {
NMHDR nmhdr;
SYSTEMTIME stSelStart;
SYSTEMTIME stSelEnd;
}
alias NMSELCHANGE* LPNMSELCHANGE;
struct NMTBHOTITEM {
NMHDR hdr;
int idOld;
int idNew;
DWORD dwFlags;
}
alias NMTBHOTITEM* LPNMTBHOTITEM;
struct NMTBDISPINFOA {
NMHDR hdr;
DWORD dwMask;
int idCommand;
DWORD_PTR lParam;
int iImage;
LPSTR pszText;
int cchText;
}
alias NMTBDISPINFOA* LPNMTBDISPINFOA;
struct NMTBDISPINFOW {
NMHDR hdr;
DWORD dwMask;
int idCommand;
DWORD_PTR lParam;
int iImage;
LPWSTR pszText;
int cchText;
}
alias NMTBDISPINFOW* LPNMTBDISPINFOW;
struct NMTBGETINFOTIPA {
NMHDR hdr;
LPSTR pszText;
int cchTextMax;
int iItem;
LPARAM lParam;
}
alias NMTBGETINFOTIPA* LPNMTBGETINFOTIPA;
struct NMTBGETINFOTIPW {
NMHDR hdr;
LPWSTR pszText;
int cchTextMax;
int iItem;
LPARAM lParam;
}
alias NMTBGETINFOTIPW* LPNMTBGETINFOTIPW;
struct NMMOUSE {
NMHDR hdr;
DWORD_PTR dwItemSpec;
DWORD_PTR dwItemData;
POINT pt;
LPARAM dwHitInfo;
}
alias NMMOUSE* LPNMMOUSE;
}
static if (_WIN32_IE >= 0x401) {
struct NMTOOLTIPSCREATED {
NMHDR hdr;
HWND hwndToolTips;
}
alias NMTOOLTIPSCREATED* LPNMTOOLTIPSCREATED;
}
struct NMDATETIMECHANGE {
NMHDR nmhdr;
DWORD dwFlags;
SYSTEMTIME st;
}
alias NMDATETIMECHANGE* LPNMDATETIMECHANGE;
struct NMCBEENDEDITW {
NMHDR hdr;
BOOL fChanged;
int iNewSelection;
WCHAR szText[CBEMAXSTRLEN];
int iWhy;
}
alias NMCBEENDEDITW* LPNMCBEENDEDITW, PNMCBEENDEDITW;
struct NMCBEENDEDITA {
NMHDR hdr;
BOOL fChanged;
int iNewSelection;
char szText[CBEMAXSTRLEN];
int iWhy;
}
alias NMCBEENDEDITA* LPNMCBEENDEDITA, PNMCBEENDEDITA;
struct COLORMAP {
COLORREF from;
COLORREF to;
}
alias COLORMAP* LPCOLORMAP;
struct DRAGLISTINFO {
UINT uNotification;
HWND hWnd;
POINT ptCursor;
}
alias DRAGLISTINFO* LPDRAGLISTINFO;
struct TBBUTTON {
int iBitmap;
int idCommand;
BYTE fsState;
BYTE fsStyle;
BYTE bReserved[2];
DWORD dwData;
int iString;
}
alias TBBUTTON* PTBBUTTON, LPTBBUTTON;
alias CPtr!(TBBUTTON) LPCTBBUTTON;
static if (_WIN32_IE >= 0x400) {
struct TBBUTTONINFOA {
UINT cbSize = TBBUTTONINFOA.sizeof;
DWORD dwMask;
int idCommand;
int iImage;
BYTE fsState;
BYTE fsStyle;
WORD cx;
DWORD lParam;
LPSTR pszText;
int cchText;
}
alias TBBUTTONINFOA* LPTBBUTTONINFOA;
struct TBBUTTONINFOW {
UINT cbSize = TBBUTTONINFOW.sizeof;
DWORD dwMask;
int idCommand;
int iImage;
BYTE fsState;
BYTE fsStyle;
WORD cx;
DWORD lParam;
LPWSTR pszText;
int cchText;
}
alias TBBUTTONINFOW* LPTBBUTTONINFOW;
struct TBINSERTMARK {
int iButton;
DWORD dwFlags;
}
alias TBINSERTMARK* LPTBINSERTMARK;
struct LVBKIMAGEA {
ULONG ulFlags;
HBITMAP hbm;
LPSTR pszImage;
UINT cchImageMax;
int xOffsetPercent;
int yOffsetPercent;
}
alias LVBKIMAGEA* LPLVBKIMAGEA;
struct LVBKIMAGEW {
ULONG ulFlags;
HBITMAP hbm;
LPWSTR pszImage;
UINT cchImageMax;
int xOffsetPercent;
int yOffsetPercent;
}
alias LVBKIMAGEW* LPLVBKIMAGEW;
}
/*struct TBNOTIFY {
NMHDR hdr;
int iItem;
TBBUTTON tbButton;
int cchText;
LPTSTR pszText;
}
alias TBNOTIFY* LPTBNOTIFY;
*/
/*struct TBSAVEPARAMS {
HKEY hkr;
LPCTSTR pszSubKey;
LPCTSTR pszValueName;
}*/
struct IMAGEINFO {
HBITMAP hbmImage;
HBITMAP hbmMask;
int Unused1;
int Unused2;
RECT rcImage;
}
alias IMAGEINFO* LPIMAGEINFO;
alias HANDLE HIMAGELIST;
static if (_WIN32_IE >= 0x500) {
struct HDITEMA {
UINT mask;
int cxy;
LPSTR pszText;
HBITMAP hbm;
int cchTextMax;
int fmt;
LPARAM lParam;
int iImage;
int iOrder;
UINT type;
LPVOID pvFilter;
}
struct HDITEMW {
UINT mask;
int cxy;
LPWSTR pszText;
HBITMAP hbm;
int cchTextMax;
int fmt;
LPARAM lParam;
int iImage;
int iOrder;
UINT type;
LPVOID pvFilter;
}
} else static if (_WIN32_IE >= 0x300) {
struct HDITEMA {
UINT mask;
int cxy;
LPSTR pszText;
HBITMAP hbm;
int cchTextMax;
int fmt;
LPARAM lParam;
int iImage;
int iOrder;
}
struct HDITEMW {
UINT mask;
int cxy;
LPWSTR pszText;
HBITMAP hbm;
int cchTextMax;
int fmt;
LPARAM lParam;
int iImage;
int iOrder;
}
} else {
struct HDITEMA {
UINT mask;
int cxy;
LPSTR pszText;
HBITMAP hbm;
int cchTextMax;
int fmt;
LPARAM lParam;
}
struct HDITEMW {
UINT mask;
int cxy;
LPWSTR pszText;
HBITMAP hbm;
int cchTextMax;
int fmt;
LPARAM lParam;
}
}
alias HDITEMA* LPHDITEMA;
alias HDITEMW* LPHDITEMW;
deprecated {
alias HDITEMA HD_ITEMA;
alias HDITEMW HD_ITEMW;
//alias HDITEM HD_ITEM; fixme
}
struct HD_LAYOUT {
RECT* prc;
WINDOWPOS* pwpos;
}
alias HDLAYOUT* LPHDLAYOUT;
deprecated alias HD_LAYOUT HDLAYOUT;
struct HD_HITTESTINFO {
POINT pt;
UINT flags;
int iItem;
}
alias HD_HITTESTINFO* LPHDHITTESTINFO;
struct HD_NOTIFYA {
NMHDR hdr;
int iItem;
int iButton;
HDITEMA* pitem;
}
struct HD_NOTIFYW {
NMHDR hdr;
int iItem;
int iButton;
HDITEMW* pitem;
}
/* FIXME: NMHEADER structure (base for all events of the comctl controls)
is the same as HD_NOTIFY depending on the value of _WIN32_IE macro.
I'm defining both for now. */
struct NMHEADERA {
NMHDR hdr;
int iItem;
int iButton;
HDITEMA* pitem;
}
alias NMHEADERA* LPNMHEADERA;
struct NMHEADERW {
NMHDR hdr;
int iItem;
int iButton;
HDITEMW* pitem;
}
alias NMHEADERW* LPNMHEADERW;
version (Unicode) {
alias NMHEADERW NMHEADER;
alias LPNMHEADERW LPNMHEADER;
} else {
alias NMHEADERA NMHEADER;
alias LPNMHEADERA LPNMHEADER;
}
// End FIXME
struct NMHDDISPINFOA {
NMHDR hdr;
int iItem;
UINT mask;
LPSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
}
alias NMHDDISPINFOA* LPNMHDDISPINFOA;
struct NMHDDISPINFOW {
NMHDR hdr;
int iItem;
UINT mask;
LPWSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
}
alias NMHDDISPINFOW* LPNMHDDISPINFOW;
struct NMCUSTOMDRAW {
NMHDR hdr;
DWORD dwDrawStage;
HDC hdc;
RECT rc;
DWORD dwItemSpec;
UINT uItemState;
LPARAM lItemlParam;
}
alias NMCUSTOMDRAW* LPNMCUSTOMDRAW;
static if (_WIN32_IE >= 0x400) {
struct NMLVCUSTOMDRAW {
NMCUSTOMDRAW nmcd;
COLORREF clrText;
COLORREF clrTextBk;
int iSubItem;
}
} else {
struct NMLVCUSTOMDRAW {
NMCUSTOMDRAW nmcd;
COLORREF clrText;
COLORREF clrTextBk;
}
}
alias NMLVCUSTOMDRAW* LPNMLVCUSTOMDRAW;
static if (_WIN32_IE >= 0x400) {
struct NMLVGETINFOTIPA {
NMHDR hdr;
DWORD dwFlags;
LPSTR pszText;
int cchTextMax;
int iItem;
int iSubItem;
LPARAM lParam;
}
alias NMLVGETINFOTIPA* LPNMLVGETINFOTIPA;
struct NMLVGETINFOTIPW {
NMHDR hdr;
DWORD dwFlags;
LPWSTR pszText;
int cchTextMax;
int iItem;
int iSubItem;
LPARAM lParam;
}
alias NMLVGETINFOTIPW* LPNMLVGETINFOTIPW;
}
static if (_WIN32_IE >= 0x400) {
struct NMTVCUSTOMDRAW {
NMCUSTOMDRAW nmcd;
COLORREF clrText;
COLORREF clrTextBk;
int iLevel;
}
} else {
struct NMTVCUSTOMDRAW {
NMCUSTOMDRAW nmcd;
COLORREF clrText;
COLORREF clrTextBk;
}
}
alias NMTVCUSTOMDRAW* LPNMTVCUSTOMDRAW;
static if (_WIN32_IE >= 0x400) {
static if (_WIN32_WINNT >= 0x501) {
struct NMTBCUSTOMDRAW {
NMCUSTOMDRAW nmcd;
HBRUSH hbrMonoDither;
HBRUSH hbrLines;
HPEN hpenLines;
COLORREF clrText;
COLORREF clrMark;
COLORREF clrTextHighlight;
COLORREF clrBtnFace;
COLORREF clrBtnHighlight;
COLORREF clrHighlightHotTrack;
RECT rcText;
int nStringBkMode;
int nHLStringBkMode;
int iListGap;
}
} else {
struct NMTBCUSTOMDRAW {
NMCUSTOMDRAW nmcd;
HBRUSH hbrMonoDither;
HBRUSH hbrLines;
HPEN hpenLines;
COLORREF clrText;
COLORREF clrMark;
COLORREF clrTextHighlight;
COLORREF clrBtnFace;
COLORREF clrBtnHighlight;
COLORREF clrHighlightHotTrack;
RECT rcText;
int nStringBkMode;
int nHLStringBkMode;
}
}
alias NMTBCUSTOMDRAW* LPNMTBCUSTOMDRAW;
struct NMITEMACTIVATE {
NMHDR hdr;
int iItem;
int iSubItem;
UINT uNewState;
UINT uOldState;
UINT uChanged;
POINT ptAction;
LPARAM lParam;
UINT uKeyFlags;
}
alias NMITEMACTIVATE* LPNMITEMACTIVATE;
}
struct TBADDBITMAP {
HINSTANCE hInst;
UINT nID;
}
alias TBADDBITMAP* LPTBADDBITMAP;
struct TBSAVEPARAMSA {
HKEY hkr;
LPCSTR pszSubKey;
LPCSTR pszValueName;
}
struct TBSAVEPARAMSW {
HKEY hkr;
LPCWSTR pszSubKey;
LPCWSTR pszValueName;
}
struct TBREPLACEBITMAP {
HINSTANCE hInstOld;
UINT nIDOld;
HINSTANCE hInstNew;
UINT nIDNew;
int nButtons;
}
alias TBREPLACEBITMAP* LPTBREPLACEBITMAP;
static if (_WIN32_IE >= 0x500) {
struct NMTOOLBARA {
NMHDR hdr;
int iItem;
TBBUTTON tbButton;
int cchText;
LPSTR pszText;
RECT rcButton;
}
struct NMTOOLBARW {
NMHDR hdr;
int iItem;
TBBUTTON tbButton;
int cchText;
LPWSTR pszText;
RECT rcButton;
}
} else {
struct NMTOOLBARA {
NMHDR hdr;
int iItem;
TBBUTTON tbButton;
int cchText;
LPSTR pszText;
}
struct NMTOOLBARW {
NMHDR hdr;
int iItem;
TBBUTTON tbButton;
int cchText;
LPWSTR pszText;
}
}
alias NMTOOLBARA* LPNMTOOLBARA;
alias NMTOOLBARW* LPNMTOOLBARW;
alias NMTOOLBARA TBNOTIFYA;
alias LPNMTOOLBARA LPTBNOTIFYA;
alias NMTOOLBARW TBNOTIFYW;
alias LPNMTOOLBARW LPTBNOTIFYW;
static if (_WIN32_WINNT >= 0x501) {
struct TOOLINFOA {
UINT cbSize = TOOLINFOA.sizeof;
UINT uFlags;
HWND hwnd;
UINT uId;
RECT rect;
HINSTANCE hinst;
LPSTR lpszText;
LPARAM lParam;
void* lpReserved;
}
struct TOOLINFOW {
UINT cbSize = TOOLINFOW.sizeof;
UINT uFlags;
HWND hwnd;
UINT uId;
RECT rect;
HINSTANCE hinst;
LPWSTR lpszText;
LPARAM lParam;
void* lpReserved;
}
const size_t
TTTOOLINFOA_V1_SIZE = TOOLINFOA.lParam.offsetof,
TTTOOLINFOW_V1_SIZE = TOOLINFOW.lParam.offsetof,
TTTOOLINFOA_V2_SIZE = TOOLINFOA.lpReserved.offsetof,
TTTOOLINFOW_V2_SIZE = TOOLINFOW.lpReserved.offsetof,
TTTOOLINFOA_V3_SIZE = TOOLINFOA.sizeof,
TTTOOLINFOW_V3_SIZE = TOOLINFOW.sizeof;
} else static if (_WIN32_IE >= 0x300) {
struct TOOLINFOA {
UINT cbSize = TOOLINFOA.sizeof;
UINT uFlags;
HWND hwnd;
UINT uId;
RECT rect;
HINSTANCE hinst;
LPSTR lpszText;
LPARAM lParam;
}
struct TOOLINFOW {
UINT cbSize = TOOLINFOW.sizeof;
UINT uFlags;
HWND hwnd;
UINT uId;
RECT rect;
HINSTANCE hinst;
LPWSTR lpszText;
LPARAM lParam;
}
const size_t
TTTOOLINFOA_V1_SIZE = TOOLINFOA.lParam.offsetof,
TTTOOLINFOW_V1_SIZE = TOOLINFOW.lParam.offsetof,
TTTOOLINFOA_V2_SIZE = TOOLINFOA.sizeof,
TTTOOLINFOW_V2_SIZE = TOOLINFOW.sizeof;
} else {
struct TOOLINFOA {
UINT cbSize = TOOLINFOA.sizeof;
UINT uFlags;
HWND hwnd;
UINT uId;
RECT rect;
HINSTANCE hinst;
LPSTR lpszText;
}
struct TOOLINFOW {
UINT cbSize = TOOLINFOW.sizeof;
UINT uFlags;
HWND hwnd;
UINT uId;
RECT rect;
HINSTANCE hinst;
LPWSTR lpszText;
}
const size_t
TTTOOLINFOA_V1_SIZE = TOOLINFOA.sizeof,
TTTOOLINFOW_V1_SIZE = TOOLINFOW.sizeof;
}
alias TOOLINFOA TTTOOLINFOA;
alias TOOLINFOW TTTOOLINFOW;
alias TTTOOLINFOA* LPTTTOOLINFOA, PTOOLINFOA, LPTOOLINFOA;
alias TTTOOLINFOW* LPTTTOOLINFOW, PTOOLINFOW, LPTOOLINFOW;
struct TTHITTESTINFOA {
HWND hwnd;
POINT pt;
TOOLINFOA ti;
}
alias TTHITTESTINFOA* LPTTHITTESTINFOA, LPHITTESTINFOA;
struct TTHITTESTINFOW {
HWND hwnd;
POINT pt;
TOOLINFOW ti;
}
alias TTHITTESTINFOW* LPTTHITTESTINFOW, LPHITTESTINFOW;
static if (_WIN32_IE >= 0x300) {
struct NMTTDISPINFOA {
NMHDR hdr;
LPSTR lpszText;
char szText[80];
HINSTANCE hinst;
UINT uFlags;
LPARAM lParam;
}
struct NMTTDISPINFOW {
NMHDR hdr;
LPWSTR lpszText;
WCHAR szText[80];
HINSTANCE hinst;
UINT uFlags;
LPARAM lParam;
}
} else {
struct NMTTDISPINFOA {
NMHDR hdr;
LPSTR lpszText;
char szText[80];
HINSTANCE hinst;
UINT uFlags;
}
struct NMTTDISPINFOW {
NMHDR hdr;
LPWSTR lpszText;
WCHAR szText[80];
HINSTANCE hinst;
UINT uFlags;
}
}
alias NMTTDISPINFOA* LPNMTTDISPINFOA;
alias NMTTDISPINFOW* LPNMTTDISPINFOW;
alias NMTTDISPINFOA TOOLTIPTEXTA;
alias LPNMTTDISPINFOA LPTOOLTIPTEXTA;
alias NMTTDISPINFOW TOOLTIPTEXTW;
alias LPNMTTDISPINFOW LPTOOLTIPTEXTW;
struct UDACCEL {
UINT nSec;
UINT nInc;
}
alias UDACCEL* LPUDACCEL;
struct NMUPDOWN {
NMHDR hdr;
int iPos;
int iDelta;
}
alias NMUPDOWN* LPNMUPDOWN;
deprecated {
alias NMUPDOWN NM_UPDOWN;
alias LPNMUPDOWN LPNM_UPDOWN;
}
static if (_WIN32_WINNT >= 0x501) {
struct LVITEMA {
UINT mask;
int iItem;
int iSubItem;
UINT state;
UINT stateMask;
LPSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
int iIndent;
int iGroupId;
UINT cColumns;
PUINT puColumns;
}
struct LVITEMW {
UINT mask;
int iItem;
int iSubItem;
UINT state;
UINT stateMask;
LPWSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
int iIndent;
int iGroupId;
UINT cColumns;
PUINT puColumns;
}
} else static if (_WIN32_IE >= 0x300) {
struct LVITEMA {
UINT mask;
int iItem;
int iSubItem;
UINT state;
UINT stateMask;
LPSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
int iIndent;
}
struct LVITEMW {
UINT mask;
int iItem;
int iSubItem;
UINT state;
UINT stateMask;
LPWSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
int iIndent;
}
} else {
struct LVITEMA {
UINT mask;
int iItem;
int iSubItem;
UINT state;
UINT stateMask;
LPSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
}
struct LVITEMW {
UINT mask;
int iItem;
int iSubItem;
UINT state;
UINT stateMask;
LPWSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
}
}
alias LVITEMA* LPLVITEMA;
alias LVITEMW* LPLVITEMW;
alias LVITEMA LV_ITEMA;
alias LVITEMW LV_ITEMW;
struct LVFINDINFOA {
UINT flags;
LPCSTR psz;
LPARAM lParam;
POINT pt;
UINT vkDirection;
}
struct LVFINDINFOW {
UINT flags;
LPCWSTR psz;
LPARAM lParam;
POINT pt;
UINT vkDirection;
}
alias LVFINDINFOA* LPFINDINFOA;
alias LVFINDINFOA LV_FINDINFOA;
alias LVFINDINFOW* LPFINDINFOW;
alias LVFINDINFOW LV_FINDINFOW;
struct NMLVFINDITEMA {
NMHDR hdr;
int iStart;
LVFINDINFOA lvfi;
}
struct NMLVFINDITEMW {
NMHDR hdr;
int iStart;
LVFINDINFOW lvfi;
}
alias NMLVFINDITEMA* PNMLVFINDITEMA, LPNMLVFINDITEMA;
alias NMLVFINDITEMW* PNMLVFINDITEMW, LPNMLVFINDITEMW;
static if (_WIN32_IE >= 0x300) {
struct LVHITTESTINFO {
POINT pt;
UINT flags;
int iItem;
int iSubItem;
}
} else {
struct LVHITTESTINFO {
POINT pt;
UINT flags;
int iItem;
}
}
alias LVHITTESTINFO* LPLVHITTESTINFO;
alias LVHITTESTINFO LV_HITTESTINFO;
static if (_WIN32_IE >= 0x300) {
struct LVCOLUMNA {
UINT mask;
int fmt;
int cx;
LPSTR pszText;
int cchTextMax;
int iSubItem;
int iImage;
int iOrder;
}
struct LVCOLUMNW {
UINT mask;
int fmt;
int cx;
LPWSTR pszText;
int cchTextMax;
int iSubItem;
int iImage;
int iOrder;
}
} else {
struct LVCOLUMNA {
UINT mask;
int fmt;
int cx;
LPSTR pszText;
int cchTextMax;
int iSubItem;
}
struct LVCOLUMNW {
UINT mask;
int fmt;
int cx;
LPWSTR pszText;
int cchTextMax;
int iSubItem;
}
}
alias LVCOLUMNA* LPLVCOLUMNA;
alias LVCOLUMNW* LPLVCOLUMNW;
alias LVCOLUMNA LV_COLUMNA;
alias LVCOLUMNW LV_COLUMNW;
static if (_WIN32_WINNT >= 0x501) {
/* SG: The definitions in this static if block are from the MSDN docs.
* They are not in MinGW, but nonetheless required for macros that are.
*/
struct LVGROUP {
UINT cbSize = LVGROUP.sizeof;
UINT mask;
LPWSTR pszHeader;
int cchHeader;
LPWSTR pszFooter;
int cchFooter;
int iGroupId;
UINT stateMask;
UINT state;
UINT uAlign;
static if (_WIN32_WINNT >= 0x600) {
LPWSTR pszSubtitle;
UINT cchSubtitle;
LPWSTR pszTask;
UINT cchTask;
LPWSTR pszDescriptionTop;
UINT cchDescriptionTop;
LPWSTR pszDescriptionBottom;
UINT cchDescriptionBottom;
int iTitleImage;
int iExtendedImage;
int iFirstItem; // Read only
UINT cItems; // Read only
LPWSTR pszSubsetTitle; // NULL if group is not subset
UINT cchSubsetTitle;
}
}
alias LVGROUP* PLVGROUP;
struct LVGROUPMETRICS {
UINT cbSize = LVGROUPMETRICS.sizeof;
UINT mask;
UINT Left;
UINT Top;
UINT Right;
UINT Bottom;
COLORREF crLeft;
COLORREF crTop;
COLORREF crRight;
COLORREF crBottom;
COLORREF crHeader;
COLORREF crFooter;
}
alias LVGROUPMETRICS* PLVGROUPMETRICS;
struct LVINSERTMARK {
UINT cbSize = LVINSERTMARK.sizeof;
DWORD dwFlags;
int iItem;
DWORD dwReserved;
}
alias LVINSERTMARK* PLVINSERTMARK;
struct LVTILEINFO {
UINT cbSize = LVTILEINFO.sizeof;
int iItem;
UINT cColumns;
PUINT puColumns;
static if (_WIN32_WINNT >= 0x600) {
int* piColFmt;
}
}
alias LVTILEINFO* PLVTILEINFO;
struct LVTILEVIEWINFO {
UINT cbSize = LVTILEVIEWINFO.sizeof;
DWORD dwMask;
DWORD dwFlags;
SIZE sizeTile;
int cLines;
RECT rcLabelMargin;
}
alias LVTILEVIEWINFO* PLVTILEVIEWINFO;
struct LVINSERTGROUPSORTED {
PFNLVGROUPCOMPARE pfnGroupCompare;
LPVOID* pvData;
LVGROUP lvGroup;
}
alias LVINSERTGROUPSORTED* PLVINSERTGROUPSORTED;
alias int function(INT, INT, VOID*) PFNLVGROUPCOMPARE;
struct LVSETINFOTIP {
UINT cbSize = LVSETINFOTIP.sizeof;
DWORD dwFlags;
LPWSTR pszText;
int iItem;
int iSubItem;
HBITMAP hbmp;
}
alias LVSETINFOTIP* PLVSETINFOTIP;
}
alias int function(LPARAM, LPARAM, LPARAM) PFNLVCOMPARE;
struct NMLISTVIEW {
NMHDR hdr;
int iItem;
int iSubItem;
UINT uNewState;
UINT uOldState;
UINT uChanged;
POINT ptAction;
LPARAM lParam;
}
alias NMLISTVIEW* LPNMLISTVIEW;
deprecated {
alias NMLISTVIEW NM_LISTVIEW;
alias LPNMLISTVIEW LPNM_LISTVIEW;
}
struct NMLVDISPINFOA {
NMHDR hdr;
LV_ITEMA item;
}
alias NMLVDISPINFOA* LPNMLVDISPINFOA;
alias NMLVDISPINFOA LV_DISPINFOA;
struct NMLVDISPINFOW {
NMHDR hdr;
LV_ITEMW item;
}
alias NMLVDISPINFOW* LPNMLVDISPINFOW;
alias NMLVDISPINFOW LV_DISPINFOW;
struct LV_KEYDOWN {
NMHDR hdr;
WORD wVKey;
UINT flags;
}
struct NMLVCACHEHINT {
NMHDR hdr;
int iFrom;
int iTo;
}
alias NMLVCACHEHINT* LPNMLVCACHEHINT, PNM_CACHEHINT, LPNM_CACHEHINT;
alias NMLVCACHEHINT NM_CACHEHINT;
struct TVITEMA {
UINT mask;
HTREEITEM hItem;
UINT state;
UINT stateMask;
LPSTR pszText;
int cchTextMax;
int iImage;
int iSelectedImage;
int cChildren;
LPARAM lParam;
}
alias TVITEMA* LPTVITEMA, LPTV_ITEMA;
alias TVITEMA TV_ITEMA;
struct TVITEMW {
UINT mask;
HTREEITEM hItem;
UINT state;
UINT stateMask;
LPWSTR pszText;
int cchTextMax;
int iImage;
int iSelectedImage;
int cChildren;
LPARAM lParam;
}
alias TVITEMW* LPTVITEMW, LPTV_ITEMW;
alias TVITEMW TV_ITEMW;
static if (_WIN32_IE >= 0x400) {
struct TVITEMEXA {
UINT mask;
HTREEITEM hItem;
UINT state;
UINT stateMask;
LPSTR pszText;
int cchTextMax;
int iImage;
int iSelectedImage;
int cChildren;
LPARAM lParam;
int iIntegral;
}
alias TVITEMEXA* LPTVITEMEXA;
struct TVITEMEXW {
UINT mask;
HTREEITEM hItem;
UINT state;
UINT stateMask;
LPWSTR pszText;
int cchTextMax;
int iImage;
int iSelectedImage;
int cChildren;
LPARAM lParam;
int iIntegral;
}
alias TVITEMEXW* LPTVITEMEXW;
}
static if (_WIN32_IE >= 0x400) {
struct TVINSERTSTRUCTA {
HTREEITEM hParent;
HTREEITEM hInsertAfter;
union {
TVITEMEXA itemex;
TV_ITEMA item;
}
}
struct TVINSERTSTRUCTW {
HTREEITEM hParent;
HTREEITEM hInsertAfter;
union {
TVITEMEXW itemex;
TV_ITEMW item;
}
}
} else {
struct TVINSERTSTRUCTA {
HTREEITEM hParent;
HTREEITEM hInsertAfter;
TV_ITEMA item;
}
struct TVINSERTSTRUCTW {
HTREEITEM hParent;
HTREEITEM hInsertAfter;
TV_ITEMW item;
}
}
alias TVINSERTSTRUCTA* LPTVINSERTSTRUCTA, LPTV_INSERTSTRUCTA;
alias TVINSERTSTRUCTA TV_INSERTSTRUCTA;
alias TVINSERTSTRUCTW* LPTVINSERTSTRUCTW, LPTV_INSERTSTRUCTW;
alias TVINSERTSTRUCTW TV_INSERTSTRUCTW;
struct TVHITTESTINFO {
POINT pt;
UINT flags;
HTREEITEM hItem;
}
alias TVHITTESTINFO* LPTVHITTESTINFO, LPTV_HITTESTINFO;
alias TVHITTESTINFO TV_HITTESTINFO;
alias int function(LPARAM, LPARAM, LPARAM) PFNTVCOMPARE;
struct TVSORTCB {
HTREEITEM hParent;
PFNTVCOMPARE lpfnCompare;
LPARAM lParam;
}
alias TVSORTCB* LPTVSORTCB, LPTV_SORTCB;
alias TVSORTCB TV_SORTCB;
struct NMTREEVIEWA {
NMHDR hdr;
UINT action;
TV_ITEMA itemOld;
TV_ITEMA itemNew;
POINT ptDrag;
}
alias NMTREEVIEWA* LPNMTREEVIEWA, LPNM_TREEVIEWA;
alias NMTREEVIEWA NM_TREEVIEWA;
struct NMTREEVIEWW {
NMHDR hdr;
UINT action;
TV_ITEMW itemOld;
TV_ITEMW itemNew;
POINT ptDrag;
}
alias NMTREEVIEWW* LPNMTREEVIEWW, LPNM_TREEVIEWW;
alias NMTREEVIEWW NM_TREEVIEWW;
struct NMTVDISPINFOA {
NMHDR hdr;
TVITEMA item;
}
alias NMTVDISPINFOA* LPNMTVDISPINFOA;
alias NMTVDISPINFOA TV_DISPINFOA;
struct NMTVDISPINFOW {
NMHDR hdr;
TVITEMW item;
}
alias NMTVDISPINFOW* LPNMTVDISPINFOW;
alias NMTVDISPINFOW TV_DISPINFOW;
static if (_WIN32_IE >= 0x400) {
struct NMTVGETINFOTIPA {
NMHDR hdr;
LPSTR pszText;
int cchTextMax;
HTREEITEM hItem;
LPARAM lParam;
}
alias NMTVGETINFOTIPA* LPNMTVGETINFOTIPA;
struct NMTVGETINFOTIPW {
NMHDR hdr;
LPWSTR pszText;
int cchTextMax;
HTREEITEM hItem;
LPARAM lParam;
}
alias NMTVGETINFOTIPW* LPNMTVGETINFOTIPW;
}
struct TV_KEYDOWN {
NMHDR hdr;
WORD wVKey;
UINT flags;
}
struct TC_ITEMHEADERA {
UINT mask;
UINT lpReserved1;
UINT lpReserved2;
LPSTR pszText;
int cchTextMax;
int iImage;
}
struct TC_ITEMHEADERW {
UINT mask;
UINT lpReserved1;
UINT lpReserved2;
LPWSTR pszText;
int cchTextMax;
int iImage;
}
static if (_WIN32_IE >= 0x300) {
struct TCITEMA {
UINT mask;
DWORD dwState;
DWORD dwStateMask;
LPSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
}
struct TCITEMW {
UINT mask;
DWORD dwState;
DWORD dwStateMask;
LPWSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
}
} else {
struct TCITEMA {
UINT mask;
UINT lpReserved1;
UINT lpReserved2;
LPSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
}
struct TCITEMW {
UINT mask;
UINT lpReserved1;
UINT lpReserved2;
LPWSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
}
}
alias TCITEMA* LPTCITEMA;
alias TCITEMA TC_ITEMA;
alias TCITEMW* LPTCITEMW;
alias TCITEMW TC_ITEMW;
struct TCHITTESTINFO {
POINT pt;
UINT flags;
}
alias TCHITTESTINFO* LPTCHITTESTINFO, LPTC_HITTESTINFO;
alias TCHITTESTINFO TC_HITTESTINFO;
struct TC_KEYDOWN {
NMHDR hdr;
WORD wVKey;
UINT flags;
}
static if (_WIN32_IE >= 0x300) {
struct INITCOMMONCONTROLSEX {
DWORD dwSize = INITCOMMONCONTROLSEX.sizeof;
DWORD dwICC;
}
alias INITCOMMONCONTROLSEX* LPINITCOMMONCONTROLSEX;
}
struct PBRANGE {
int iLow;
int iHigh;
}
alias PBRANGE* PPBRANGE;
struct COLORSCHEME {
DWORD dwSize = COLORSCHEME.sizeof;
COLORREF clrBtnHighlight;
COLORREF clrBtnShadow;
}
alias COLORSCHEME* LPCOLORSCHEME;
struct MCHITTESTINFO {
UINT cbSize = MCHITTESTINFO.sizeof;
POINT pt;
UINT uHit;
SYSTEMTIME st;
}
alias MCHITTESTINFO* PMCHITTESTINFO;
alias DWORD MONTHDAYSTATE;
alias MONTHDAYSTATE* LPMONTHDAYSTATE;
struct NMDAYSTATE {
NMHDR nmhdr;
SYSTEMTIME stStart;
int cDayState;
LPMONTHDAYSTATE prgDayState;
}
alias NMDAYSTATE* LPNMDAYSTATE;
struct REBARINFO {
UINT cbSize = REBARINFO.sizeof;
UINT fMask;
HIMAGELIST himl;
}
alias REBARINFO* LPREBARINFO;
static if (_WIN32_IE >= 0x400) {
struct REBARBANDINFOA {
UINT cbSize = REBARBANDINFOA.sizeof;
UINT fMask;
UINT fStyle;
COLORREF clrFore;
COLORREF clrBack;
LPSTR lpText;
UINT cch;
int iImage;
HWND hwndChild;
UINT cxMinChild;
UINT cyMinChild;
UINT cx;
HBITMAP hbmBack;
UINT wID;
UINT cyChild;
UINT cyMaxChild;
UINT cyIntegral;
UINT cxIdeal;
LPARAM lParam;
UINT cxHeader;
}
struct REBARBANDINFOW {
UINT cbSize = REBARBANDINFOW.sizeof;
UINT fMask;
UINT fStyle;
COLORREF clrFore;
COLORREF clrBack;
LPWSTR lpText;
UINT cch;
int iImage;
HWND hwndChild;
UINT cxMinChild;
UINT cyMinChild;
UINT cx;
HBITMAP hbmBack;
UINT wID;
UINT cyChild;
UINT cyMaxChild;
UINT cyIntegral;
UINT cxIdeal;
LPARAM lParam;
UINT cxHeader;
}
enum : size_t {
REBARBANDINFOA_V3_SIZE = REBARBANDINFOA.cyChild.offsetof,
REBARBANDINFOW_V3_SIZE = REBARBANDINFOW.cyChild.offsetof
}
} else {
struct REBARBANDINFOA {
UINT cbSize = REBARBANDINFOA.sizeof;
UINT fMask;
UINT fStyle;
COLORREF clrFore;
COLORREF clrBack;
LPSTR lpText;
UINT cch;
int iImage;
HWND hwndChild;
UINT cxMinChild;
UINT cyMinChild;
UINT cx;
HBITMAP hbmBack;
UINT wID;
}
struct REBARBANDINFOW {
UINT cbSize = REBARBANDINFOW.sizeof;
UINT fMask;
UINT fStyle;
COLORREF clrFore;
COLORREF clrBack;
LPWSTR lpText;
UINT cch;
int iImage;
HWND hwndChild;
UINT cxMinChild;
UINT cyMinChild;
UINT cx;
HBITMAP hbmBack;
UINT wID;
}
enum : size_t {
REBARBANDINFOA_V3_SIZE = REBARBANDINFOA.sizeof,
REBARBANDINFOW_V3_SIZE = REBARBANDINFOW.sizeof
}
}
alias REBARBANDINFOA* LPREBARBANDINFOA;
alias CPtr!(REBARBANDINFOA) LPCREBARBANDINFOA;
alias REBARBANDINFOW* LPREBARBANDINFOW;
alias CPtr!(REBARBANDINFOW) LPCREBARBANDINFOW;
static if (_WIN32_IE >= 0x300) {
struct NMLVODSTATECHANGE {
NMHDR hdr;
int iFrom;
int iTo;
UINT uNewState;
UINT uOldState;
}
alias NMLVODSTATECHANGE* LPNMLVODSTATECHANGE;
static if (_WIN32_WINNT >= 0x501) {
struct IMAGELISTDRAWPARAMS {
DWORD cbSize = IMAGELISTDRAWPARAMS.sizeof;
HIMAGELIST himl;
int i;
HDC hdcDst;
int x;
int y;
int cx;
int cy;
int xBitmap;
int yBitmap;
COLORREF rgbBk;
COLORREF rgbFg;
UINT fStyle;
DWORD dwRop;
DWORD fState;
DWORD Frame;
COLORREF crEffect;
}
} else {
struct IMAGELISTDRAWPARAMS {
DWORD cbSize = IMAGELISTDRAWPARAMS.sizeof;
HIMAGELIST himl;
int i;
HDC hdcDst;
int x;
int y;
int cx;
int cy;
int xBitmap;
int yBitmap;
COLORREF rgbBk;
COLORREF rgbFg;
UINT fStyle;
DWORD dwRop;
}
}
alias IMAGELISTDRAWPARAMS* LPIMAGELISTDRAWPARAMS;
}
static if (_WIN32_IE >= 0x400) {
struct NMREBARCHILDSIZE {
NMHDR hdr;
UINT uBand;
UINT wID;
RECT rcChild;
RECT rcBand;
}
alias NMREBARCHILDSIZE* LPNMREBARCHILDSIZE;
struct NMREBAR {
NMHDR hdr;
DWORD dwMask;
UINT uBand;
UINT fStyle;
UINT wID;
LPARAM lParam;
}
alias NMREBAR* LPNMREBAR;
struct NMRBAUTOSIZE {
NMHDR hdr;
BOOL fChanged;
RECT rcTarget;
RECT rcActual;
}
alias NMRBAUTOSIZE* LPNMRBAUTOSIZE;
static if (_WIN32_IE >= 0x500) {
struct NMREBARCHEVRON {
NMHDR hdr;
UINT uBand;
UINT wID;
LPARAM lParam;
RECT rc;
LPARAM lParamNM;
}
alias NMREBARCHEVRON* LPNMREBARCHEVRON;
}
struct RBHITTESTINFO {
POINT pt;
UINT flags;
int iBand;
}
alias RBHITTESTINFO* LPRBHITTESTINFO;
}
alias HANDLE HDSA;
alias HANDLE HDPA;
version (Unicode) {
alias HDITEMW HDITEM;
alias LPHDITEMW LPHDITEM;
alias TOOLINFOW TOOLINFO;
alias TOOLINFOW* PTOOLINFO, LPTOOLINFO;
alias TTHITTESTINFOW TTHITTESTINFO;
alias TTHITTESTINFOW* LPHITTESTINFO, LPTTHITTESTINFO;
alias TOOLTIPTEXTW TOOLTIPTEXT;
alias TOOLTIPTEXTW* LPTOOLTIPTEXT;
alias NMTTDISPINFOW NMTTDISPINFO;
alias NMTTDISPINFOW* LPNMTTDISPINFO;
alias TV_ITEMW TV_ITEM;
alias TV_ITEMW* LPTV_ITEM;
alias TVITEMW TVITEM;
alias TVITEMW* LPTVITEM;
static if (_WIN32_IE >= 0x400) {
alias TVITEMEXW TVITEMEX;
alias TVITEMEXW* LPTVITEMEX;
}
alias TV_INSERTSTRUCTW TV_INSERTSTRUCT;
alias TV_INSERTSTRUCTW* LPTV_INSERTSTRUCT;
alias TVINSERTSTRUCTW TVINSERTSTRUCT;
alias TVINSERTSTRUCTW* LPTVINSERTSTRUCT;
alias NM_TREEVIEWW NM_TREEVIEW;
alias NM_TREEVIEWW* LPNM_TREEVIEW;
alias NMTREEVIEWW NMTREEVIEW;
alias NMTREEVIEWW* LPNMTREEVIEW;
alias NMHDDISPINFOW NMHDDISPINFO;
alias NMHDDISPINFOW* LPNMHDDISPINFO;
alias ACM_OPENW ACM_OPEN;
alias COMBOBOXEXITEMW COMBOBOXEXITEM;
alias PCOMBOBOXEXITEMW PCOMBOBOXEXITEM;
//alias PCCOMBOBOXEXITEMW PCCOMBOBOXEXITEM; fixme
alias CBEM_INSERTITEMW CBEM_INSERTITEM;
alias CBEM_SETITEMW CBEM_SETITEM;
alias CBEM_GETITEMW CBEM_GETITEM;
alias CBEN_ENDEDITW CBEN_ENDEDIT;
alias NMCBEENDEDITW NMCBEENDEDIT;
alias LPNMCBEENDEDITW LPNMCBEENDEDIT;
alias PNMCBEENDEDITW PNMCBEENDEDIT;
static if (_WIN32_IE >= 0x400) {
alias NMCOMBOBOXEXW NMCOMBOBOXEX;
alias PNMCOMBOBOXEXW PNMCOMBOBOXEX;
alias CBEN_GETDISPINFOW CBEN_GETDISPINFO;
alias CBEN_DRAGBEGINW CBEN_DRAGBEGIN;
alias NMCBEDRAGBEGINW NMCBEDRAGBEGIN;
alias LPNMCBEDRAGBEGINW LPNMCBEDRAGBEGIN;
alias PNMCBEDRAGBEGINW PNMCBEDRAGBEGIN;
}
alias SB_GETTEXTW SB_GETTEXT;
alias SB_SETTEXTW SB_SETTEXT;
alias SB_GETTEXTLENGTHW SB_GETTEXTLENGTH;
alias HDM_INSERTITEMW HDM_INSERTITEM;
alias HDM_GETITEMW HDM_GETITEM;
alias HDM_SETITEMW HDM_SETITEM;
alias HDN_ITEMCHANGINGW HDN_ITEMCHANGING;
alias HDN_ITEMCHANGEDW HDN_ITEMCHANGED;
alias HDN_ITEMCLICKW HDN_ITEMCLICK;
alias HDN_ITEMDBLCLICKW HDN_ITEMDBLCLICK;
alias HDN_DIVIDERDBLCLICKW HDN_DIVIDERDBLCLICK;
alias HDN_BEGINTRACKW HDN_BEGINTRACK;
alias HDN_ENDTRACKW HDN_ENDTRACK;
alias HDN_TRACKW HDN_TRACK;
static if (_WIN32_IE >= 0x300) {
alias HDN_GETDISPINFOW HDN_GETDISPINFO;
}
alias HD_NOTIFYW HD_NOTIFY;
alias TBSAVEPARAMSW TBSAVEPARAMS;
alias TB_GETBUTTONTEXTW TB_GETBUTTONTEXT;
alias TB_SAVERESTOREW TB_SAVERESTORE;
alias TB_ADDSTRINGW TB_ADDSTRING;
static if (_WIN32_IE >= 0x400) {
alias TBN_GETBUTTONINFOW TBN_GETBUTTONINFO; // fixme
alias TB_GETBUTTONINFOW TB_GETBUTTONINFO;
alias TB_SETBUTTONINFOW TB_SETBUTTONINFO;
alias TB_INSERTBUTTONW TB_INSERTBUTTON;
alias TB_ADDBUTTONSW TB_ADDBUTTONS;
alias TB_MAPACCELERATORW TB_MAPACCELERATOR;
alias TB_GETSTRINGW TB_GETSTRING;
alias TBBUTTONINFOW TBBUTTONINFO;
alias LPTBBUTTONINFOW LPTBBUTTONINFO;
alias TBN_GETDISPINFOW TBN_GETDISPINFO;
alias NMTBDISPINFOW NMTBDISPINFO;
alias LPNMTBDISPINFOW LPNMTBDISPINFO;
alias NMTBGETINFOTIPW NMTBGETINFOTIP;
alias LPNMTBGETINFOTIPW LPNMTBGETINFOTIP;
}
alias TBNOTIFYW TBNOTIFY;
alias LPTBNOTIFYW LPTBNOTIFY;
alias NMTOOLBARW NMTOOLBAR;
alias LPNMTOOLBARW LPNMTOOLBAR;
alias TTM_ADDTOOLW TTM_ADDTOOL;
alias TTM_DELTOOLW TTM_DELTOOL;
alias TTM_NEWTOOLRECTW TTM_NEWTOOLRECT;
alias TTM_GETTOOLINFOW TTM_GETTOOLINFO;
alias TTM_SETTOOLINFOW TTM_SETTOOLINFO;
alias TTM_HITTESTW TTM_HITTEST;
alias TTM_GETTEXTW TTM_GETTEXT;
alias TTM_UPDATETIPTEXTW TTM_UPDATETIPTEXT;
alias TTM_ENUMTOOLSW TTM_ENUMTOOLS;
alias TTM_GETCURRENTTOOLW TTM_GETCURRENTTOOL;
alias TTN_NEEDTEXTW TTN_NEEDTEXT;
alias TTN_GETDISPINFOW TTN_GETDISPINFO;
//alias SB_GETTEXTW SB_GETTEXT;
//alias SB_SETTEXTW SB_SETTEXT;
//alias SB_GETTEXTLENGTHW SB_GETTEXTLENGTH;
alias LV_ITEMW LV_ITEM;
alias LVITEMW LVITEM;
alias LVITEM* LPLVITEM;
alias LPSTR_TEXTCALLBACKW LPSTR_TEXTCALLBACK;
static if (_WIN32_IE >= 0x400) {
alias LVBKIMAGEW LVBKIMAGE;
alias LPLVBKIMAGEW LPLVBKIMAGE;
alias LVM_SETBKIMAGEW LVM_SETBKIMAGE;
alias LVM_GETBKIMAGEW LVM_GETBKIMAGE;
}
alias LVM_GETITEMW LVM_GETITEM;
alias LVM_SETITEMW LVM_SETITEM;
alias LVM_INSERTITEMW LVM_INSERTITEM;
alias LV_FINDINFOW LV_FINDINFO;
alias LVFINDINFOW LVFINDINFO;
alias LPFINDINFOW LPFINDINFO;
alias NMLVFINDITEMW NMLVFINDITEM;
alias PNMLVFINDITEMW PNMLVFINDITEM;
alias LPNMLVFINDITEMW LPNMLVFINDITEM;
alias LVM_FINDITEMW LVM_FINDITEM;
alias LVM_GETSTRINGWIDTHW LVM_GETSTRINGWIDTH;
alias LVM_EDITLABELW LVM_EDITLABEL;
alias LV_COLUMNW LV_COLUMN;
alias LVCOLUMNW LVCOLUMN;
alias LVCOLUMNW* LPLVCOLUMN;
alias LVM_GETCOLUMNW LVM_GETCOLUMN;
alias LVM_SETCOLUMNW LVM_SETCOLUMN;
alias LVM_INSERTCOLUMNW LVM_INSERTCOLUMN;
alias LVM_GETITEMTEXTW LVM_GETITEMTEXT;
alias LVM_SETITEMTEXTW LVM_SETITEMTEXT;
alias LVM_GETISEARCHSTRINGW LVM_GETISEARCHSTRING;
alias LVN_BEGINLABELEDITW LVN_BEGINLABELEDIT;
alias LVN_ENDLABELEDITW LVN_ENDLABELEDIT;
alias LVN_GETDISPINFOW LVN_GETDISPINFO;
alias LVN_SETDISPINFOW LVN_SETDISPINFO;
static if (_WIN32_IE >= 0x400) {
alias LVN_GETINFOTIPW LVN_GETINFOTIP;
alias NMLVGETINFOTIPW NMLVGETINFOTIP;
alias LPNMLVGETINFOTIPW LPNMLVGETINFOTIP;
}
alias LV_DISPINFOW LV_DISPINFO;
alias NMLVDISPINFOW NMLVDISPINFO;
alias LPNMLVDISPINFOW LPNMLVDISPINFO;
alias TVM_INSERTITEMW TVM_INSERTITEM;
alias TVM_GETITEMW TVM_GETITEM;
alias TVM_SETITEMW TVM_SETITEM;
alias TVM_EDITLABELW TVM_EDITLABEL;
alias TVM_GETISEARCHSTRINGW TVM_GETISEARCHSTRING;
alias NMTVDISPINFOW TV_DISPINFO;
alias NMTVDISPINFOW NMTVDISPINFO;
alias LPNMTVDISPINFOW LPNMTVDISPINFO;
static if (_WIN32_IE >= 0x400) {
alias NMTVGETINFOTIPW NMTVGETINFOTIP;
alias LPNMTVGETINFOTIPW LPNMTVGETINFOTIP;
alias TVN_GETINFOTIPW TVN_GETINFOTIP;
}
alias TVN_SELCHANGINGW TVN_SELCHANGING;
alias TVN_SELCHANGEDW TVN_SELCHANGED;
alias TVN_GETDISPINFOW TVN_GETDISPINFO;
alias TVN_SETDISPINFOW TVN_SETDISPINFO;
alias TVN_ITEMEXPANDINGW TVN_ITEMEXPANDING;
alias TVN_ITEMEXPANDEDW TVN_ITEMEXPANDED;
alias TVN_BEGINDRAGW TVN_BEGINDRAG;
alias TVN_BEGINRDRAGW TVN_BEGINRDRAG;
alias TVN_DELETEITEMW TVN_DELETEITEM;
alias TVN_BEGINLABELEDITW TVN_BEGINLABELEDIT;
alias TVN_ENDLABELEDITW TVN_ENDLABELEDIT;
alias TC_ITEMHEADERW TC_ITEMHEADER;
alias TC_ITEMW TC_ITEM;
alias TCITEMW TCITEM;
alias LPTCITEMW LPTCITEM;
alias TCM_GETITEMW TCM_GETITEM;
alias TCM_SETITEMW TCM_SETITEM;
alias TCM_INSERTITEMW TCM_INSERTITEM;
alias CreateStatusWindowW CreateStatusWindow;
alias DrawStatusTextW DrawStatusText;
alias ImageList_LoadImageW ImageList_LoadImage;
alias DTM_SETFORMATW DTM_SETFORMAT;
alias DTN_USERSTRINGW DTN_USERSTRING;
alias DTN_WMKEYDOWNW DTN_WMKEYDOWN;
alias DTN_FORMATW DTN_FORMAT;
alias DTN_FORMATQUERYW DTN_FORMATQUERY;
alias REBARBANDINFOW REBARBANDINFO;
alias REBARBANDINFO* LPREBARBANDINFO;
alias LPCREBARBANDINFOW LPCREBARBANDINFO;
alias REBARBANDINFOW_V3_SIZE REBARBANDINFO_V3_SIZE;
alias RB_INSERTBANDW RB_INSERTBAND;
alias RB_SETBANDINFOW RB_SETBANDINFO;
} else {
alias HDITEMA HDITEM;
alias LPHDITEMA LPHDITEM;
alias TOOLINFOA TOOLINFO;
alias TOOLINFOA* PTOOLINFO, LPTOOLINFO;
alias TTHITTESTINFOA TTHITTESTINFO;
alias TTHITTESTINFOA* LPHITTESTINFO, LPTTHITTESTINFO;
alias TOOLTIPTEXTA TOOLTIPTEXT;
alias TOOLTIPTEXTA* LPTOOLTIPTEXT;
alias NMTTDISPINFOA NMTTDISPINFO;
alias NMTTDISPINFOA* LPNMTTDISPINFO;
alias TV_ITEMA TV_ITEM;
alias TV_ITEMA* LPTV_ITEM;
alias TVITEMA TVITEM;
alias TVITEMA* LPTVITEM;
static if (_WIN32_IE >= 0x400) {
alias TVITEMEXA TVITEMEX;
alias TVITEMEXA* LPTVITEMEX;
}
alias TV_INSERTSTRUCTA TV_INSERTSTRUCT;
alias TV_INSERTSTRUCTA* LPTV_INSERTSTRUCT;
alias TVINSERTSTRUCTA TVINSERTSTRUCT;
alias TVINSERTSTRUCTA* LPTVINSERTSTRUCT;
alias NM_TREEVIEWA NM_TREEVIEW;
alias NM_TREEVIEWA* LPNM_TREEVIEW;
alias NMTREEVIEWA NMTREEVIEW;
alias NMTREEVIEWA* LPNMTREEVIEW;
alias NMHDDISPINFOW NMHDDISPINFO;
alias NMHDDISPINFOW* LPNMHDDISPINFO;
alias ACM_OPENA ACM_OPEN;
alias COMBOBOXEXITEMA COMBOBOXEXITEM;
alias PCOMBOBOXEXITEMA PCOMBOBOXEXITEM;
//alias PCCOMBOBOXEXITEMA PCCOMBOBOXEXITEM; fixme
alias CBEM_INSERTITEMA CBEM_INSERTITEM;
alias CBEM_SETITEMA CBEM_SETITEM;
alias CBEM_GETITEMA CBEM_GETITEM;
alias CBEN_ENDEDITA CBEN_ENDEDIT;
alias NMCBEENDEDITA NMCBEENDEDIT;
alias LPNMCBEENDEDITA LPNMCBEENDEDIT;
alias PNMCBEENDEDITA PNMCBEENDEDIT;
static if (_WIN32_IE >= 0x400) {
alias TB_GETBUTTONINFOA TB_GETBUTTONINFO;
alias TB_SETBUTTONINFOA TB_SETBUTTONINFO;
alias TB_INSERTBUTTONA TB_INSERTBUTTON;
alias TB_ADDBUTTONSA TB_ADDBUTTONS;
alias TB_MAPACCELERATORA TB_MAPACCELERATOR;
alias TB_GETSTRINGA TB_GETSTRING;
alias NMCOMBOBOXEXA NMCOMBOBOXEX;
alias PNMCOMBOBOXEXA PNMCOMBOBOXEX;
alias CBEN_DRAGBEGINA CBEN_DRAGBEGIN;
alias CBEN_GETDISPINFOA CBEN_GETDISPINFO;
alias NMCBEDRAGBEGINA NMCBEDRAGBEGIN;
alias LPNMCBEDRAGBEGINA LPNMCBEDRAGBEGIN;
alias PNMCBEDRAGBEGINA PNMCBEDRAGBEGIN;
alias TBN_GETDISPINFOA TBN_GETDISPINFO;
alias NMTBDISPINFOA NMTBDISPINFO;
alias LPNMTBDISPINFOA LPNMTBDISPINFO;
alias NMTBGETINFOTIPA NMTBGETINFOTIP;
alias LPNMTBGETINFOTIPA LPNMTBGETINFOTIP;
}
alias SB_GETTEXTA SB_GETTEXT;
alias SB_SETTEXTA SB_SETTEXT;
alias SB_GETTEXTLENGTHA SB_GETTEXTLENGTH;
alias HDM_INSERTITEMA HDM_INSERTITEM;
alias HDM_GETITEMA HDM_GETITEM;
alias HDM_SETITEMA HDM_SETITEM;
alias HDN_ITEMCHANGINGA HDN_ITEMCHANGING;
alias HDN_ITEMCHANGEDA HDN_ITEMCHANGED;
alias HDN_ITEMCLICKA HDN_ITEMCLICK;
alias HDN_ITEMDBLCLICKA HDN_ITEMDBLCLICK;
alias HDN_DIVIDERDBLCLICKA HDN_DIVIDERDBLCLICK;
alias HDN_BEGINTRACKA HDN_BEGINTRACK;
alias HDN_ENDTRACKA HDN_ENDTRACK;
alias HDN_TRACKA HDN_TRACK;
static if (_WIN32_IE >= 0x300) {
alias HDN_GETDISPINFOA HDN_GETDISPINFO;
}
alias HD_NOTIFYA HD_NOTIFY;
alias TBSAVEPARAMSA TBSAVEPARAMS;
alias TB_GETBUTTONTEXTA TB_GETBUTTONTEXT;
alias TB_SAVERESTOREA TB_SAVERESTORE;
alias TB_ADDSTRINGA TB_ADDSTRING;
alias TBN_GETBUTTONINFOA TBN_GETBUTTONINFO;
static if (_WIN32_IE >= 0x400) {
alias TBBUTTONINFOA TBBUTTONINFO;
alias LPTBBUTTONINFOA LPTBBUTTONINFO;
}
alias TBNOTIFYA TBNOTIFY;
alias LPTBNOTIFYA LPTBNOTIFY;
alias NMTOOLBARA NMTOOLBAR;
alias LPNMTOOLBARA LPNMTOOLBAR;
alias TTM_ADDTOOLA TTM_ADDTOOL;
alias TTM_DELTOOLA TTM_DELTOOL;
alias TTM_NEWTOOLRECTA TTM_NEWTOOLRECT;
alias TTM_GETTOOLINFOA TTM_GETTOOLINFO;
alias TTM_SETTOOLINFOA TTM_SETTOOLINFO;
alias TTM_HITTESTA TTM_HITTEST;
alias TTM_GETTEXTA TTM_GETTEXT;
alias TTM_UPDATETIPTEXTA TTM_UPDATETIPTEXT;
alias TTM_ENUMTOOLSA TTM_ENUMTOOLS;
alias TTM_GETCURRENTTOOLA TTM_GETCURRENTTOOL;
alias TTN_NEEDTEXTA TTN_NEEDTEXT;
alias TTN_GETDISPINFOA TTN_GETDISPINFO;
alias LV_ITEMA LV_ITEM;
alias LVITEMA LVITEM;
alias LVITEM* LPLVITEM;
alias LPSTR_TEXTCALLBACKA LPSTR_TEXTCALLBACK;
static if (_WIN32_IE >= 0x400) {
alias LVBKIMAGEA LVBKIMAGE;
alias LPLVBKIMAGEA LPLVBKIMAGE;
alias LVM_SETBKIMAGEA LVM_SETBKIMAGE;
alias LVM_GETBKIMAGEA LVM_GETBKIMAGE;
}
alias LVM_GETITEMA LVM_GETITEM;
alias LVM_SETITEMA LVM_SETITEM;
alias LVM_INSERTITEMA LVM_INSERTITEM;
alias LV_FINDINFOA LV_FINDINFO;
alias LVFINDINFOA LVFINDINFO;
alias LPFINDINFOA LPFINDINFO;
alias NMLVFINDITEMA NMLVFINDITEM;
alias PNMLVFINDITEMA PNMLVFINDITEM;
alias LPNMLVFINDITEMA LPNMLVFINDITEM;
alias LVM_FINDITEMA LVM_FINDITEM;
alias LVM_GETSTRINGWIDTHA LVM_GETSTRINGWIDTH;
alias LVM_EDITLABELA LVM_EDITLABEL;
alias LV_COLUMNA LV_COLUMN;
alias LVCOLUMNA LVCOLUMN;
alias LVCOLUMNA* LPLVCOLUMN;
alias LVM_GETCOLUMNA LVM_GETCOLUMN;
alias LVM_SETCOLUMNA LVM_SETCOLUMN;
alias LVM_INSERTCOLUMNA LVM_INSERTCOLUMN;
alias LVM_GETITEMTEXTA LVM_GETITEMTEXT;
alias LVM_SETITEMTEXTA LVM_SETITEMTEXT;
alias LVM_GETISEARCHSTRINGA LVM_GETISEARCHSTRING;
alias LVN_BEGINLABELEDITA LVN_BEGINLABELEDIT;
alias LVN_ENDLABELEDITA LVN_ENDLABELEDIT;
alias LVN_GETDISPINFOA LVN_GETDISPINFO;
alias LVN_SETDISPINFOA LVN_SETDISPINFO;
static if (_WIN32_IE >= 0x400) {
alias LVN_GETINFOTIPA LVN_GETINFOTIP;
alias NMLVGETINFOTIPA NMLVGETINFOTIP;
alias LPNMLVGETINFOTIPA LPNMLVGETINFOTIP;
}
alias LV_DISPINFOA LV_DISPINFO;
alias NMLVDISPINFOA NMLVDISPINFO;
alias LPNMLVDISPINFOA LPNMLVDISPINFO;
alias TVM_INSERTITEMA TVM_INSERTITEM;
alias TVM_GETITEMA TVM_GETITEM;
alias TVM_SETITEMA TVM_SETITEM;
alias TVM_EDITLABELA TVM_EDITLABEL;
alias TVM_GETISEARCHSTRINGA TVM_GETISEARCHSTRING;
alias NMTVDISPINFOA TV_DISPINFO;
alias NMTVDISPINFOA NMTVDISPINFO;
alias LPNMTVDISPINFOA LPNMTVDISPINFO;
static if (_WIN32_IE >= 0x400) {
alias NMTVGETINFOTIPA NMTVGETINFOTIP;
alias LPNMTVGETINFOTIPA LPNMTVGETINFOTIP;
alias TVN_GETINFOTIPA TVN_GETINFOTIP;
}
alias TVN_SELCHANGINGA TVN_SELCHANGING;
alias TVN_SELCHANGEDA TVN_SELCHANGED;
alias TVN_GETDISPINFOA TVN_GETDISPINFO;
alias TVN_SETDISPINFOA TVN_SETDISPINFO;
alias TVN_ITEMEXPANDINGA TVN_ITEMEXPANDING;
alias TVN_ITEMEXPANDEDA TVN_ITEMEXPANDED;
alias TVN_BEGINDRAGA TVN_BEGINDRAG;
alias TVN_BEGINRDRAGA TVN_BEGINRDRAG;
alias TVN_DELETEITEMA TVN_DELETEITEM;
alias TVN_BEGINLABELEDITA TVN_BEGINLABELEDIT;
alias TVN_ENDLABELEDITA TVN_ENDLABELEDIT;
alias TC_ITEMHEADERA TC_ITEMHEADER;
alias TC_ITEMA TC_ITEM;
alias TCITEMA TCITEM;
alias LPTCITEMA LPTCITEM;
alias TCM_GETITEMA TCM_GETITEM;
alias TCM_SETITEMA TCM_SETITEM;
alias TCM_INSERTITEMA TCM_INSERTITEM;
alias CreateStatusWindowA CreateStatusWindow;
alias DrawStatusTextA DrawStatusText;
alias ImageList_LoadImageA ImageList_LoadImage;
alias DTM_SETFORMATA DTM_SETFORMAT;
alias DTN_USERSTRINGA DTN_USERSTRING;
alias DTN_WMKEYDOWNA DTN_WMKEYDOWN;
alias DTN_FORMATA DTN_FORMAT;
alias DTN_FORMATQUERYA DTN_FORMATQUERY;
alias REBARBANDINFOA REBARBANDINFO;
alias REBARBANDINFOA* LPREBARBANDINFO;
alias LPCREBARBANDINFOA LPCREBARBANDINFO;
alias REBARBANDINFOA_V3_SIZE REBARBANDINFO_V3_SIZE;
alias RB_INSERTBANDA RB_INSERTBAND;
alias RB_SETBANDINFOA RB_SETBANDINFO;
}
alias INT function(PVOID, PVOID) PFNDPAENUMCALLBACK;
alias INT function(PVOID, PVOID) PFNDSAENUMCALLBACK;
alias INT function(PVOID, PVOID, LPARAM) PFNDPACOMPARE;
static if (_WIN32_WINNT >= 0x501) {
extern (Windows)
alias LRESULT function(HWND, UINT, WPARAM, LPARAM, UINT_PTR, DWORD_PTR)
SUBCLASSPROC;
struct LITEM {
UINT mask;
int iLink;
UINT state;
UINT stateMask;
WCHAR[MAX_LINKID_TEXT] szID;
WCHAR[L_MAX_URL_LENGTH] szUrl;
}
alias LITEM* PLITEM;
struct LHITTESTINFO {
POINT pt;
LITEM item;
}
alias LHITTESTINFO* PLHITTESTINFO;
struct NMLINK {
NMHDR hdr;
LITEM item;
}
alias NMLINK* PNMLINK;
}
uint INDEXTOOVERLAYMASK(uint i) { return i << 8; }
uint INDEXTOSTATEIMAGEMASK(uint i) { return i << 12; }
template HANDLE_WM_NOTIFY(R) {
R HANDLE_WM_NOTIFY(HWND hwnd, WPARAM wParam, LPARAM lParam,
R function(HWND, int, NMHDR*) fn) {
return fn(hwnd, wParam, cast(NMHDR*) lParam);
}
}
int FORWARD_WM_NOTIFY(HWND hwnd, int idFrom, NMHDR* pnmhdr,
int function(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) fn) {
return fn(hwnd, WM_NOTIFY, idFrom, cast(LPARAM) pnmhdr);
}
//#define CCSIZEOF_STRUCT(s, m) (((int)((PBYTE)(&((s*)0)->m)-((PBYTE)((s*)0))))+sizeof(((s*)0)->m))
LPARAM MAKEIPADDRESS(ubyte b1, ubyte b2, ubyte b3, ubyte b4) {
return (cast(DWORD) b1 << 24)
| (cast(DWORD) b2 << 16)
| (cast(DWORD) b3 << 8)
| (cast(DWORD) b4);
}
LPARAM MAKEIPRANGE(ubyte low, ubyte high) {
return (cast(int) high << 8) | low;
}
ubyte FIRST_IPADDRESS(LPARAM x) {
return cast(ubyte) (x >> 24);
}
ubyte SECOND_IPADDRESS(LPARAM x) {
return cast(ubyte) (x >> 16);
}
ubyte THIRD_IPADDRESS(LPARAM x) {
return cast(ubyte) (x >> 8);
}
ubyte FOURTH_IPADDRESS(LPARAM x) {
return cast(ubyte) x;
}
HWND Animate_Create(HWND hwndP, UINT id, DWORD dwStyle,
HINSTANCE hInstance) {
return CreateWindow(cast(TCHAR*)ANIMATE_CLASS.ptr, null, dwStyle, 0, 0, 0, 0, hwndP,
cast(HMENU) id, hInstance, null);
}
BOOL Animate_Open(HWND hwnd, LPTSTR szName) {
return SendMessage(hwnd, ACM_OPEN, 0, cast(LPARAM) szName);
}
BOOL Animate_OpenEx(HWND hwnd, HINSTANCE hInst, LPTSTR szName) {
return SendMessage(hwnd, ACM_OPEN, cast(WPARAM) hInst,
cast(LPARAM) szName);
}
BOOL Animate_Play(HWND hwnd, int from, int to, int rep) {
return SendMessage(hwnd, ACM_PLAY, rep,
MAKELONG(cast(ushort) from, cast(ushort) to));
}
BOOL Animate_Stop(HWND hwnd) {
return SendMessage(hwnd, ACM_STOP, 0, 0);
}
BOOL Animate_Close(HWND hwnd) {
return Animate_Open(hwnd, null);
}
BOOL Animate_Seek(HWND hwnd, int frame) {
return Animate_Play(hwnd, frame, frame, 1);
}
extern (Windows) {
HBITMAP CreateMappedBitmap(HINSTANCE, int, UINT, LPCOLORMAP, int);
HWND CreateStatusWindowA(LONG, LPCSTR, HWND, UINT);
HWND CreateStatusWindowW(LONG, LPCWSTR, HWND, UINT);
HWND CreateToolbarEx(HWND, DWORD, UINT, int, HINSTANCE, UINT,
LPCTBBUTTON, int, int, int, int, int, UINT);
HWND CreateUpDownControl(DWORD, int, int, int, int, HWND, int, HINSTANCE,
HWND, int, int, int);
}
HWND DateTime_GetMonthCal(HWND hwnd) {
return cast(HWND) SendMessage(hwnd, DTM_GETMONTHCAL, 0, 0);
}
COLORREF DateTime_GetMonthCalColor(HWND hwnd, int iColor) {
return cast(COLORREF) SendMessage(hwnd, DTM_GETMCCOLOR, iColor, 0);
}
HFONT DateTime_GetMonthCalFont(HWND hwnd) {
return cast(HFONT) SendMessage(hwnd, DTM_GETMCFONT, 0, 0);
}
DWORD DateTime_GetRange(HWND hwnd, LPSYSTEMTIME lpSysTimeArray) {
return SendMessage(hwnd, DTM_GETRANGE, 0, cast(LPARAM) lpSysTimeArray);
}
DWORD DateTime_GetSystemtime(HWND hwnd, LPSYSTEMTIME lpSysTime) {
return SendMessage(hwnd, DTM_GETSYSTEMTIME, 0, cast(LPARAM) lpSysTime);
}
BOOL DateTime_SetFormat(HWND hwnd, LPCTSTR lpszFormat) {
return cast(BOOL) SendMessage(hwnd, DTM_SETFORMAT, 0,
cast(LPARAM) lpszFormat);
}
LRESULT DateTime_SetMonthCalColor(HWND hwnd, int iColor, COLORREF clr) {
return SendMessage(hwnd, DTM_SETMCCOLOR, cast(WPARAM) iColor,
cast(LPARAM) clr);
}
void DateTime_SetMonthCalFont(HWND hwnd, HFONT hfont, BOOL fRedraw) {
SendMessage(hwnd, DTM_SETMCFONT, cast(WPARAM) hfont, fRedraw);
}
BOOL DateTime_SetRange(HWND hwnd, WPARAM flags, LPSYSTEMTIME lpSysTimeArray) {
return cast(BOOL) SendMessage(hwnd, DTM_SETRANGE, flags,
cast(LPARAM) lpSysTimeArray);
}
BOOL DateTime_SetSystemtime(HWND hwnd, WPARAM flag, LPSYSTEMTIME lpSysTime) {
return cast(BOOL) SendMessage(hwnd, DTM_SETSYSTEMTIME, flag,
cast(LPARAM) lpSysTime);
}
extern (Windows) {
void DrawInsert(HWND, HWND, int);
void DrawStatusTextA(HDC, LPRECT, LPCSTR, UINT);
void DrawStatusTextW(HDC, LPRECT, LPCWSTR, UINT);
void GetEffectiveClientRect(HWND, LPRECT, LPINT);
}
int Header_GetItemCount(HWND w) {
return SendMessage(w, HDM_GETITEMCOUNT, 0, 0);
}
int Header_InsertItem(HWND w, int i, CPtr!(HDITEM) phdi) {
return SendMessage(w, HDM_INSERTITEM, i, cast(LPARAM) phdi);
}
BOOL Header_DeleteItem(HWND w, int i) {
return cast(BOOL) SendMessage(w, HDM_DELETEITEM, i, 0);
}
BOOL Header_GetItem(HWND w, int i, LPHDITEM phdi) {
return cast(BOOL) SendMessage(w, HDM_GETITEM, i, cast(LPARAM) phdi);
}
BOOL Header_SetItem(HWND w, int i, CPtr!(HDITEM) phdi) {
return cast(BOOL) SendMessage(w, HDM_SETITEM, i, cast(LPARAM) phdi);
}
BOOL Header_Layout(HWND w, LPHDLAYOUT playout) {
return SendMessage(w, HDM_LAYOUT, 0, cast(LPARAM) playout);
}
static if (_WIN32_IE >= 0x300) {
int Header_OrderToIndex(HWND w, int i) {
return SendMessage(w, HDM_ORDERTOINDEX, i, 0);
}
BOOL Header_GetItemRect(HWND w, int i, RECT* r) {
return cast(BOOL) SendMessage(w, HDM_GETITEMRECT, i, cast(LPARAM) r);
}
BOOL Header_GetOrderArray(HWND w, int iSize, LPINT lpiArray) {
return cast(BOOL) SendMessage(w, HDM_GETORDERARRAY, iSize,
cast(LPARAM) lpiArray);
}
BOOL Header_SetOrderArray(HWND w, int iSize, LPINT lpiArray) {
return cast(BOOL) SendMessage(w, HDM_SETORDERARRAY, iSize,
cast(LPARAM) lpiArray);
}
HIMAGELIST Header_CreateDragImage(HWND w, int i) {
return cast(HIMAGELIST) SendMessage(w, HDM_CREATEDRAGIMAGE, i, 0);
}
HIMAGELIST Header_SetImageList(HWND w, HIMAGELIST himl) {
return cast(HIMAGELIST) SendMessage(w, HDM_SETIMAGELIST, 0,
cast(LPARAM) himl);
}
HIMAGELIST Header_GetImageList(HWND w) {
return cast(HIMAGELIST) SendMessage(w, HDM_GETIMAGELIST, 0, 0);
}
}
static if (_WIN32_IE >= 0x400) {
BOOL Header_GetUnicodeFormat(HWND w) {
return cast(BOOL) SendMessage(w, HDM_GETUNICODEFORMAT, 0, 0);
}
BOOL Header_SetUnicodeFormat(HWND w, BOOL fUnicode) {
return cast(BOOL) SendMessage(w, HDM_SETUNICODEFORMAT, fUnicode, 0);
}
}
extern (Windows) {
HDSA DSA_Create(INT, INT);
BOOL DSA_Destroy(HDSA);
VOID DSA_DestroyCallback(HDSA, PFNDSAENUMCALLBACK, PVOID);
PVOID DSA_GetItemPtr(HDSA, INT);
INT DSA_InsertItem(HDSA, INT, PVOID);
HDPA DPA_Create(INT);
BOOL DPA_Destroy(HDPA);
PVOID DPA_DeletePtr(HDPA, INT);
BOOL DPA_DeleteAllPtrs(HDPA);
VOID DPA_EnumCallback(HDPA, PFNDPAENUMCALLBACK, PVOID);
VOID DPA_DestroyCallback(HDPA, PFNDPAENUMCALLBACK, PVOID);
BOOL DPA_SetPtr(HDPA, INT, PVOID);
INT DPA_InsertPtr(HDPA, INT, PVOID);
PVOID DPA_GetPtr(HDPA, INT_PTR);
BOOL DPA_Sort(HDPA, PFNDPACOMPARE, LPARAM);
INT DPA_Search(HDPA, PVOID, INT, PFNDPACOMPARE, LPARAM, UINT);
BOOL Str_SetPtrW(LPWSTR*, LPCWSTR);
static if (_WIN32_IE >= 0x400) {
BOOL FlatSB_EnableScrollBar(HWND, INT, UINT);
BOOL FlatSB_ShowScrollBar(HWND, INT, BOOL);
BOOL FlatSB_GetScrollRange(HWND, INT, LPINT, LPINT);
BOOL FlatSB_GetScrollInfo(HWND, INT, LPSCROLLINFO);
INT FlatSB_GetScrollPos(HWND, INT);
BOOL FlatSB_GetScrollProp(HWND, INT, LPINT);
version (Win64) {
BOOL FlatSB_GetScrollPropPtr(HWND, INT, PINT_PTR);
} else {
alias FlatSB_GetScrollProp FlatSB_GetScrollPropPtr;
}
INT FlatSB_SetScrollPos(HWND, INT, INT, BOOL);
INT FlatSB_SetScrollInfo(HWND, INT, LPSCROLLINFO, BOOL);
INT FlatSB_SetScrollRange(HWND, INT, INT, INT, BOOL);
BOOL FlatSB_SetScrollProp(HWND, UINT, INT_PTR, BOOL);
alias FlatSB_SetScrollProp FlatSB_SetScrollPropPtr;
BOOL InitializeFlatSB(HWND);
HRESULT UninitializeFlatSB(HWND);
}
static if (_WIN32_WINNT >= 0x501) {
BOOL SetWindowSubclass(HWND, SUBCLASSPROC, UINT_PTR, DWORD_PTR);
BOOL GetWindowSubclass(HWND, SUBCLASSPROC, UINT_PTR, DWORD_PTR*);
BOOL RemoveWindowSubclass(HWND, SUBCLASSPROC, UINT_PTR);
LRESULT DefSubclassProc(HWND, UINT, WPARAM, LPARAM);
INT DrawShadowText(HDC, LPCWSTR, UINT, RECT*, DWORD, COLORREF,
COLORREF, INT, INT);
}
int ImageList_Add(HIMAGELIST, HBITMAP, HBITMAP);
int ImageList_AddMasked(HIMAGELIST, HBITMAP, COLORREF);
BOOL ImageList_BeginDrag(HIMAGELIST, int, int, int);
HIMAGELIST ImageList_Create(int, int, UINT, int, int);
BOOL ImageList_Destroy(HIMAGELIST);
BOOL ImageList_DragEnter(HWND, int, int);
BOOL ImageList_DragLeave(HWND);
BOOL ImageList_DragMove(int, int);
BOOL ImageList_DragShowNolock(BOOL);
BOOL ImageList_Draw(HIMAGELIST, int, HDC, int, int, UINT);
BOOL ImageList_DrawEx(HIMAGELIST, int, HDC, int, int, int, int, COLORREF,
COLORREF, UINT);
void ImageList_EndDrag(PVOID);
COLORREF ImageList_GetBkColor(HIMAGELIST);
HIMAGELIST ImageList_GetDragImage(LPPOINT, LPPOINT);
HICON ImageList_GetIcon(HIMAGELIST, int, UINT);
BOOL ImageList_GetIconSize(HIMAGELIST, int*, int*);
int ImageList_GetImageCount(HIMAGELIST);
BOOL ImageList_GetImageInfo(HIMAGELIST, int, IMAGEINFO*);
HIMAGELIST ImageList_LoadImageA(HINSTANCE, LPCSTR, int, int, COLORREF,
UINT, UINT);
HIMAGELIST ImageList_LoadImageW(HINSTANCE, LPCWSTR, int, int, COLORREF,
UINT, UINT);
HIMAGELIST ImageList_Merge(HIMAGELIST, int, HIMAGELIST, int, int, int);
BOOL ImageList_Remove(HIMAGELIST, int);
BOOL ImageList_Replace(HIMAGELIST, int, HBITMAP, HBITMAP);
int ImageList_ReplaceIcon(HIMAGELIST, int, HICON);
COLORREF ImageList_SetBkColor(HIMAGELIST, COLORREF);
BOOL ImageList_SetDragCursorImage(HIMAGELIST, int, int, int);
BOOL ImageList_SetIconSize(HIMAGELIST, int, int);
BOOL ImageList_SetOverlayImage(HIMAGELIST, int, int);
//#ifdef _OBJIDL_H
HIMAGELIST ImageList_Read(LPSTREAM);
BOOL ImageList_Write(HIMAGELIST, LPSTREAM);
//#endif
static if (_WIN32_IE >= 0x400) {
HIMAGELIST ImageList_Duplicate(HIMAGELIST himl);
}
void InitCommonControls();
static if (_WIN32_IE >= 0x300) {
BOOL InitCommonControlsEx(LPINITCOMMONCONTROLSEX);
}
int LBItemFromPt(HWND, POINT, BOOL);
}
int ImageList_AddIcon(HIMAGELIST himl, HICON hicon) {
return ImageList_ReplaceIcon(himl, -1, hicon);
}
HICON ImageList_ExtractIcon(HINSTANCE hi, HIMAGELIST himl, int i) {
return ImageList_GetIcon(himl, i, 0);
}
HIMAGELIST ImageList_LoadBitmap(HINSTANCE hi, LPCTSTR lpbmp, int cx,
int cGrow, COLORREF crMask) {
return ImageList_LoadImage(hi, lpbmp, cx, cGrow, crMask, IMAGE_BITMAP, 0);
}
BOOL ImageList_RemoveAll(HIMAGELIST himl) {
return ImageList_Remove(himl, -1);
}
COLORREF ListView_GetBkColor(HWND w) {
return cast(COLORREF) SendMessage(w, LVM_GETBKCOLOR, 0, 0);
}
HIMAGELIST ListView_GetImageList(HWND w, int i) {
return cast(HIMAGELIST) SendMessage(w, LVM_GETIMAGELIST, i, 0);
}
int ListView_GetItemCount(HWND w) {
return SendMessage(w, LVM_GETITEMCOUNT, 0, 0);
}
BOOL ListView_GetItem(HWND w, LPLVITEM pitem) {
return cast(BOOL) SendMessage(w, LVM_GETITEM, 0, cast(LPARAM) pitem);
}
BOOL ListView_SetBkColor(HWND w, COLORREF c) {
return cast(BOOL) SendMessage(w, LVM_SETBKCOLOR, 0, cast(LPARAM) c);
}
HIMAGELIST ListView_SetImageList(HWND w, HIMAGELIST h, int i) {
return cast(HIMAGELIST) SendMessage(w, LVM_SETIMAGELIST, i,
cast(LPARAM) h);
}
BOOL ListView_SetItem(HWND w, CPtr!(LV_ITEM) i) {
return cast(BOOL) SendMessage(w, LVM_SETITEM, 0, cast(LPARAM) i);
}
int ListView_InsertItem(HWND w, CPtr!(LV_ITEM) i) {
return SendMessage(w, LVM_INSERTITEM, 0, cast(LPARAM) i);
}
BOOL ListView_DeleteItem(HWND w, int i) {
return cast(BOOL) SendMessage(w, LVM_DELETEITEM, i, 0);
}
BOOL ListView_DeleteAllItems(HWND w) {
return cast(BOOL) SendMessage(w, LVM_DELETEALLITEMS, 0, 0);
}
UINT ListView_GetCallbackMask(HWND w) {
return cast(UINT) SendMessage(w, LVM_GETCALLBACKMASK, 0, 0);
}
BOOL ListView_SetCallbackMask(HWND w, UINT m) {
return cast(BOOL) SendMessage(w, LVM_SETCALLBACKMASK, m, 0);
}
int ListView_GetNextItem(HWND w, int i, UINT f) {
return SendMessage(w, LVM_GETNEXTITEM, i, MAKELPARAM(cast(ushort)f, 0));
}
int ListView_FindItem(HWND w, int i, CPtr!(LV_FINDINFO) p) {
return SendMessage(w, LVM_FINDITEM, i, cast(LPARAM) p);
}
BOOL ListView_GetItemRect(HWND w, int i, LPRECT p, int c) {
return cast(BOOL) SendMessage(w, LVM_GETITEMRECT, i, p ?
(p.left = c, cast(LPARAM) p) : 0);
}
BOOL ListView_SetItemPosition(HWND w, int i, int x, int y) {
return cast(BOOL) SendMessage(w, LVM_SETITEMPOSITION, i, MAKELPARAM(cast(ushort)x, cast(ushort)y));
}
BOOL ListView_GetItemPosition(HWND w, int i, POINT* p) {
return cast(BOOL) SendMessage(w, LVM_GETITEMPOSITION, i, cast(LPARAM) p);
}
DWORD ListView_GetItemSpacing(HWND w, BOOL f) {
return cast(DWORD) SendMessage(w, LVM_GETITEMSPACING, f, 0);
}
int ListView_GetStringWidth(HWND w, LPCSTR s) {
return SendMessage(w, LVM_GETSTRINGWIDTH, 0, cast(LPARAM) s);
}
int ListView_HitTest(HWND w, LPLVHITTESTINFO p) {
return SendMessage(w, LVM_HITTEST, 0, cast(LPARAM) p);
}
BOOL ListView_EnsureVisible(HWND w, int i, BOOL f) {
return cast(BOOL) SendMessage(w, LVM_ENSUREVISIBLE, i, MAKELPARAM(cast(ushort)f, 0));
}
BOOL ListView_Scroll(HWND w, int dx, int dy) {
return cast(BOOL) SendMessage(w, LVM_SCROLL, dx, dy);
}
BOOL ListView_RedrawItems(HWND w, int f, int l) {
return cast(BOOL) SendMessage(w, LVM_REDRAWITEMS, f, l);
}
BOOL ListView_Arrange(HWND w, UINT c) {
return cast(BOOL) SendMessage(w, LVM_ARRANGE, c, 0);
}
HWND ListView_EditLabel(HWND w, int i) {
return cast(HWND) SendMessage(w, LVM_EDITLABEL, i, 0);
}
HWND ListView_GetEditControl(HWND w) {
return cast(HWND) SendMessage(w, LVM_GETEDITCONTROL, 0, 0);
}
BOOL ListView_GetColumn(HWND w, int i, LPLVCOLUMN p) {
return cast(BOOL) SendMessage(w, LVM_GETCOLUMN, i, cast(LPARAM) p);
}
BOOL ListView_SetColumn(HWND w, int i, CPtr!(LV_COLUMN) p) {
return cast(BOOL) SendMessage(w, LVM_SETCOLUMN, i, cast(LPARAM) p);
}
int ListView_InsertColumn(HWND w, int i, CPtr!(LV_COLUMN) p) {
return SendMessage(w, LVM_INSERTCOLUMN, i, cast(LPARAM) p);
}
BOOL ListView_DeleteColumn(HWND w, int i) {
return cast(BOOL) SendMessage(w, LVM_DELETECOLUMN, i, 0);
}
int ListView_GetColumnWidth(HWND w, int i) {
return SendMessage(w, LVM_GETCOLUMNWIDTH, i, 0);
}
BOOL ListView_SetColumnWidth(HWND w, int i, int x) {
return cast(BOOL) SendMessage(w, LVM_SETCOLUMNWIDTH, i, MAKELPARAM(cast(ushort)x, 0));
}
HIMAGELIST ListView_CreateDragImage(HWND w, int i, LPPOINT p) {
return cast(HIMAGELIST) SendMessage(w, LVM_CREATEDRAGIMAGE, i,
cast(LPARAM) p);
}
BOOL ListView_GetViewRect(HWND w, RECT* p) {
return cast(BOOL) SendMessage(w, LVM_GETVIEWRECT, 0, cast(LPARAM) p);
}
COLORREF ListView_GetTextColor(HWND w) {
return cast(COLORREF) SendMessage(w, LVM_GETTEXTCOLOR, 0, 0);
}
BOOL ListView_SetTextColor(HWND w, COLORREF c) {
return cast(BOOL) SendMessage(w, LVM_SETTEXTCOLOR, 0, cast(LPARAM) c);
}
COLORREF ListView_GetTextBkColor(HWND w) {
return cast(COLORREF) SendMessage(w, LVM_GETTEXTBKCOLOR, 0, 0);
}
BOOL ListView_SetTextBkColor(HWND w, COLORREF c) {
return cast(BOOL) SendMessage(w, LVM_SETTEXTBKCOLOR, 0, cast(LPARAM) c);
}
int ListView_GetTopIndex(HWND w) {
return SendMessage(w, LVM_GETTOPINDEX, 0, 0);
}
int ListView_GetCountPerPage(HWND w) {
return SendMessage(w, LVM_GETCOUNTPERPAGE, 0, 0);
}
BOOL ListView_GetOrigin(HWND w, LPPOINT p) {
return cast(BOOL) SendMessage(w, LVM_GETORIGIN, 0, cast(LPARAM) p);
}
BOOL ListView_Update(HWND w, WPARAM i) {
return cast(BOOL) SendMessage(w, LVM_UPDATE, i, 0);
}
void ListView_SetItemState(HWND w, int i, UINT d, UINT m) {
LV_ITEM _lvi;
_lvi.stateMask = m;
_lvi.state = d;
SendMessage(w, LVM_SETITEMSTATE, i, cast(LPARAM) &_lvi);
}
UINT ListView_GetItemState(HWND w, int i, UINT m) {
return cast(UINT) SendMessage(w, LVM_GETITEMSTATE, i, m);
}
void ListView_GetItemText(HWND w, int i, int iS, LPTSTR s, int n) {
LV_ITEM _lvi;
_lvi.iSubItem = iS;
_lvi.cchTextMax = n;
_lvi.pszText = s;
SendMessage(w, LVM_GETITEMTEXT, i, cast(LPARAM) &_lvi);
}
void ListView_SetItemText(HWND w, int i, int iS, LPTSTR s) {
LV_ITEM _lvi;
_lvi.iSubItem = iS;
_lvi.pszText = s;
SendMessage(w, LVM_SETITEMTEXT, i, cast(LPARAM) &_lvi);
}
void ListView_SetItemCount(HWND w, int n) {
SendMessage(w, LVM_SETITEMCOUNT, n, 0);
}
BOOL ListView_SortItems(HWND w, PFNLVCOMPARE f, LPARAM l) {
return cast(BOOL) SendMessage(w, LVM_SORTITEMS, l, cast(LPARAM) f);
}
void ListView_SetItemPosition32(HWND w, int i, int x, int y) {
POINT p;
p.x = x;
p.y = y;
SendMessage(w, LVM_SETITEMPOSITION32, i, cast(LPARAM) &p);
}
UINT ListView_GetSelectedCount(HWND w) {
return cast(UINT) SendMessage(w, LVM_GETSELECTEDCOUNT, 0, 0);
}
UINT ListView_GetCheckState(HWND w, UINT i) {
return ((cast(UINT) SendMessage(w, LVM_GETITEMSTATE, i, LVIS_STATEIMAGEMASK)) >> 12) - 1;
}
void ListView_SetCheckState(HWND w, UINT i, BOOL f) {
ListView_SetItemState(w, i, INDEXTOSTATEIMAGEMASK(f ? 2 : 1),
LVIS_STATEIMAGEMASK);
}
BOOL ListView_GetISearchString(HWND w, LPSTR lpsz) {
return cast(BOOL) SendMessage(w, LVM_GETISEARCHSTRING, 0,
cast(LPARAM) lpsz);
}
void ListView_CancelEditLabel(HWND w) {
SendMessage(w, LVM_CANCELEDITLABEL, 0, 0);
}
int ListView_EnableGroupView(HWND w, BOOL i) {
return cast(int) SendMessage(w, LVM_ENABLEGROUPVIEW, i, 0);
}
static if (_WIN32_WINDOWS >= 0x410 && (_WIN32_WINNT >= 0x500 || _WIN32_IE >= 0x500)) {
BOOL ListView_SortItemsEx(HWND w, PFNLVCOMPARE c, LPARAM p) {
return SendMessage(w, LVM_SORTITEMSEX, cast(WPARAM) p, cast(LPARAM)c);
}
}
static if (_WIN32_WINNT >= 0x501) {
int ListView_GetGroupInfo(HWND w, int i, PLVGROUP p) {
return SendMessage(w, LVM_GETGROUPINFO, i, cast(LPARAM) p);
}
void ListView_GetGroupMetrics(HWND w, PLVGROUPMETRICS p) {
SendMessage(w, LVM_GETGROUPMETRICS, 0, cast(LPARAM) p);
}
BOOL ListView_GetInsertMark(HWND w, PLVINSERTMARK p) {
return SendMessage(w, LVM_GETINSERTMARK, 0, cast(LPARAM) p);
}
COLORREF ListView_GetInsertMarkColor(HWND w) {
return SendMessage(w, LVM_GETINSERTMARKCOLOR, 0, 0);
}
int ListView_GetInsertMarkRect(HWND w, LPRECT p) {
return SendMessage(w, LVM_GETINSERTMARKRECT, 0, cast(LPARAM) p);
}
COLORREF ListView_GetOutlineColor(HWND w) {
return SendMessage(w, LVM_GETOUTLINECOLOR, 0, 0);
}
UINT ListView_GetSelectedColumn(HWND w) {
return SendMessage(w, LVM_GETSELECTEDCOLUMN, 0, 0);
}
void ListView_GetTileInfo(HWND w, PLVTILEINFO p) {
SendMessage(w, LVM_GETTILEINFO, 0, cast(LPARAM) p);
}
void ListView_GetTileViewInfo(HWND w, PLVTILEVIEWINFO p) {
SendMessage(w, LVM_GETTILEVIEWINFO, 0, cast(LPARAM) p);
}
DWORD ListView_GetView(HWND w) {
return SendMessage(w, LVM_GETVIEW, 0, 0);
}
BOOL ListView_HasGroup(HWND w, int i) {
return SendMessage(w, LVM_HASGROUP, i, 0);
}
int ListView_InsertGroup(HWND w, int i, PLVGROUP p) {
return SendMessage(w, LVM_INSERTGROUP, i, cast(LPARAM) p);
}
void ListView_InsertGroupSorted(HWND w, PLVINSERTGROUPSORTED p) {
SendMessage(w, LVM_INSERTGROUPSORTED, cast(WPARAM) p, 0);
}
BOOL ListView_InsertMarkHitTest(HWND w, LPPOINT p, PLVINSERTMARK t) {
return SendMessage(w, LVM_INSERTMARKHITTEST, cast(WPARAM) p, cast(LPARAM) t);
}
BOOL ListView_IsGroupViewEnabled(HWND w) {
return SendMessage(w, LVM_ISGROUPVIEWENABLED, 0, 0);
}
UINT ListView_MapIDToIndex(HWND w, UINT i) {
return SendMessage(w, LVM_MAPIDTOINDEX, i, 0);
}
/* ??? MSDN documents this as "Not implemented", except in relation to
* Windows CE/Mobile.
*/
void ListView_MoveGroup(HWND w, int i, int t) {
SendMessage(w, LVM_MOVEGROUP, i, t);
}
void ListView_RemoveAllGroups(HWND w) {
SendMessage(w, LVM_REMOVEALLGROUPS, 0, 0);
}
int ListView_RemoveGroup(HWND w, int i) {
return SendMessage(w, LVM_REMOVEGROUP, i, 0);
}
int ListView_SetGroupInfo(HWND w, int i, PLVGROUP p) {
return SendMessage(w, LVM_SETGROUPINFO, i, cast(LPARAM) p);
}
void ListView_SetGroupMetrics(HWND w, PLVGROUPMETRICS p) {
SendMessage(w, LVM_SETGROUPMETRICS, 0, cast(LPARAM) p);
}
BOOL ListView_SetInfoTip(HWND w, PLVSETINFOTIP p) {
return SendMessage(w, LVM_SETINFOTIP, 0, cast(LPARAM) p);
}
BOOL ListView_SetInsertMark(HWND w, PLVINSERTMARK p) {
return SendMessage(w, LVM_SETINSERTMARK, 0, cast(LPARAM) p);
}
COLORREF ListView_SetInsertMarkColor(HWND w, COLORREF c) {
return SendMessage(w, LVM_SETINSERTMARKCOLOR, 0, c);
}
COLORREF ListView_SetOutlineColor(HWND w, COLORREF c) {
return SendMessage(w, LVM_SETOUTLINECOLOR, 0, c);
}
void ListView_SetSelectedColumn(HWND w, int i) {
SendMessage(w, LVM_SETSELECTEDCOLUMN, i, 0);
}
BOOL ListView_SetTileInfo(HWND w, PLVTILEINFO p) {
return SendMessage(w, LVM_SETTILEINFO, 0, cast(LPARAM) p);
}
BOOL ListView_SetTileViewInfo(HWND w, PLVTILEVIEWINFO p) {
return SendMessage(w, LVM_SETTILEVIEWINFO, 0, cast(LPARAM) p);
}
int ListView_SetView(HWND w, DWORD i) {
return SendMessage(w, LVM_SETVIEW, i, 0);
}
int ListView_SortGroups(HWND w, PFNLVGROUPCOMPARE c, LPVOID p) {
return SendMessage(w, LVM_SORTGROUPS, cast(WPARAM) c, cast(LPARAM) p);
}
}
static if (_WIN32_WINNT >= 0x501) {
enum {
CBM_FIRST = 0x1700,
CB_SETMINVISIBLE = CBM_FIRST + 1,
CB_GETMINVISIBLE = CBM_FIRST + 2
}
BOOL ComboBox_SetMinVisible(HWND w, INT i) {
return cast(BOOL) SendMessage(w, CB_SETMINVISIBLE, cast(WPARAM) i, 0);
}
int ComboBox_GetMinVisible(HWND w) {
return SendMessage(w, CB_GETMINVISIBLE, 0, 0);
}
}
extern (Windows) BOOL MakeDragList(HWND);
extern (Windows) void MenuHelp(UINT, WPARAM, LPARAM, HMENU, HINSTANCE, HWND,
PUINT);
COLORREF MonthCal_GetColor(HWND hwnd, INT icolor) {
return cast(COLORREF) SendMessage(hwnd, MCM_GETCOLOR,
cast(WPARAM) icolor, 0);
}
BOOL MonthCal_GetCurSel(HWND hwnd, LPSYSTEMTIME lpsystime) {
return cast(BOOL) SendMessage(hwnd, MCM_GETCURSEL, 0,
cast(LPARAM) lpsystime);
}
DWORD MonthCal_GetFirstDayOfWeek(HWND hwnd) {
return cast(DWORD) SendMessage(hwnd, MCM_GETFIRSTDAYOFWEEK, 0, 0);
}
DWORD MonthCal_GetMaxSelCount(HWND hwnd) {
return cast(DWORD) SendMessage(hwnd, MCM_GETMAXSELCOUNT, 0, 0);
}
DWORD MonthCal_GetMaxTodayWidth(HWND hwnd) {
return cast(DWORD) SendMessage(hwnd, MCM_GETMAXTODAYWIDTH, 0, 0);
}
BOOL MonthCal_GetMinReqRect(HWND hwnd, LPRECT lpRectInfo) {
return cast(BOOL) SendMessage(hwnd, MCM_GETMINREQRECT, 0,
cast(LPARAM) lpRectInfo);
}
INT MonthCal_GetMonthDelta(HWND hwnd) {
return SendMessage(hwnd, MCM_GETMONTHDELTA, 0, 0);
}
INT MonthCal_GetMonthRange(HWND hwnd, DWORD flag, LPSYSTEMTIME systimearray) {
return SendMessage(hwnd, MCM_GETMONTHRANGE, cast(WPARAM) flag,
cast(LPARAM) systimearray);
}
DWORD MonthCal_GetRange(HWND hwnd, LPSYSTEMTIME systimearray) {
return cast(DWORD) SendMessage(hwnd, MCM_GETRANGE, 0,
cast(LPARAM) systimearray);
}
BOOL MonthCal_GetSelRange(HWND hwnd, LPSYSTEMTIME systimearray) {
return cast(BOOL) SendMessage(hwnd, MCM_GETSELRANGE, 0,
cast(LPARAM) systimearray);
}
BOOL MonthCal_GetToday(HWND hwnd, LPSYSTEMTIME systime) {
return cast(BOOL) SendMessage(hwnd, MCM_GETTODAY, 0,
cast(LPARAM) systime);
}
BOOL MonthCal_GetUnicodeFormat(HWND hwnd) {
return cast(BOOL) SendMessage(hwnd, MCM_GETUNICODEFORMAT, 0, 0);
}
DWORD MonthCal_HitTest(HWND hwnd, PMCHITTESTINFO pmchittest) {
return cast(DWORD) SendMessage(hwnd, MCM_HITTEST, 0,
cast(LPARAM) pmchittest);
}
COLORREF MonthCal_SetColor(HWND hwnd, INT icolor, COLORREF clr) {
return cast(COLORREF) SendMessage(hwnd, MCM_SETCOLOR, cast(WPARAM) icolor,
cast(LPARAM) clr);
}
BOOL MonthCal_SetCurSel(HWND hwnd, LPSYSTEMTIME lpsystime) {
return cast(BOOL) SendMessage(hwnd, MCM_SETCURSEL, 0,
cast(LPARAM) lpsystime);
}
BOOL MonthCal_SetDayState(HWND hwnd, INT imonths, LPMONTHDAYSTATE lpdatestatearray) {
return cast(BOOL) SendMessage(hwnd, MCM_SETDAYSTATE, cast(WPARAM) imonths,
cast(LPARAM) lpdatestatearray);
}
DWORD MonthCal_SetFirstDayOfWeek(HWND hwnd, INT iday) {
return cast(DWORD) SendMessage(hwnd, MCM_SETFIRSTDAYOFWEEK, 0,
cast(LPARAM) iday);
}
BOOL MonthCal_SetMaxSelCount(HWND hwnd, UINT imax) {
return cast(BOOL) SendMessage(hwnd, MCM_SETMAXSELCOUNT,
cast(WPARAM) imax, 0);
}
INT MonthCal_SetMonthDelta(HWND hwnd, INT idelta) {
return SendMessage(hwnd, MCM_SETMONTHDELTA, cast(WPARAM) idelta, 0);
}
BOOL MonthCal_SetSelRange(HWND hwnd, LPSYSTEMTIME systimearray) {
return cast(BOOL) SendMessage(hwnd, MCM_SETSELRANGE, 0,
cast(LPARAM) systimearray);
}
void MonthCal_SetToday(HWND hwnd, LPSYSTEMTIME systime) {
SendMessage(hwnd, MCM_SETTODAY, 0, cast(LPARAM) systime);
}
BOOL MonthCal_SetUnicodeFormat(HWND hwnd, BOOL unicode) {
return cast(BOOL) SendMessage(hwnd, MCM_SETUNICODEFORMAT,
cast(WPARAM) unicode, 0);
}
BOOL MonthCal_SetRange(HWND w, DWORD f, LPSYSTEMTIME st) {
return cast(BOOL) SendMessage(w, MCM_SETRANGE, cast(WPARAM) f,
cast(LPARAM) st);
}
extern (Windows) BOOL ShowHideMenuCtl(HWND, UINT, PINT);
BOOL TabCtrl_GetItem(HWND w, int i, LPTCITEM p) {
return cast(BOOL) SendMessage(w, TCM_GETITEM, i, cast(LPARAM) p);
}
BOOL TabCtrl_SetItem(HWND w, int i, LPTCITEM p) {
return cast(BOOL) SendMessage(w, TCM_SETITEM, i, cast(LPARAM) p);
}
int TabCtrl_InsertItem(HWND w, int i, CPtr!(TC_ITEM) p) {
return SendMessage(w, TCM_INSERTITEM, i, cast(LPARAM) p);
}
BOOL TabCtrl_DeleteItem(HWND w, int i) {
return cast(BOOL) SendMessage(w, TCM_DELETEITEM, i, 0);
}
BOOL TabCtrl_DeleteAllItems(HWND w) {
return cast(BOOL) SendMessage(w, TCM_DELETEALLITEMS, 0, 0);
}
BOOL TabCtrl_GetItemRect(HWND w, int i, LPRECT p) {
return cast(BOOL) SendMessage(w, TCM_GETITEMRECT, i, cast(LPARAM) p);
}
int TabCtrl_GetCurSel(HWND w) {
return SendMessage(w, TCM_GETCURSEL, 0, 0);
}
int TabCtrl_SetCurSel(HWND w, int i) {
return SendMessage(w, TCM_SETCURSEL, i, 0);
}
int TabCtrl_HitTest(HWND w, LPTCHITTESTINFO p) {
return SendMessage(w, TCM_HITTEST, 0, cast(LPARAM) p);
}
BOOL TabCtrl_SetItemExtra(HWND w, int c) {
return cast(BOOL) SendMessage(w, TCM_SETITEMEXTRA, c, 0);
}
int TabCtrl_AdjustRect(HWND w, BOOL b, LPRECT p) {
return SendMessage(w, TCM_ADJUSTRECT, b, cast(LPARAM) p);
}
DWORD TabCtrl_SetItemSize(HWND w, int x, int y) {
return cast(DWORD) SendMessage(w, TCM_SETITEMSIZE, 0, MAKELPARAM(cast(ushort)x, cast(ushort)y));
}
void TabCtrl_RemoveImage(HWND w, int i) {
SendMessage(w, TCM_REMOVEIMAGE, i, 0);
}
void TabCtrl_SetPadding(HWND w, int x, int y) {
SendMessage(w, TCM_SETPADDING, 0, MAKELPARAM(cast(ushort)x, cast(ushort)y));
}
int TabCtrl_GetRowCount(HWND w) {
return SendMessage(w, TCM_GETROWCOUNT, 0, 0);
}
HWND TabCtrl_GetToolTips(HWND w) {
return cast(HWND) SendMessage(w, TCM_GETTOOLTIPS, 0, 0);
}
void TabCtrl_SetToolTips(HWND w, HWND t) {
SendMessage(w, TCM_SETTOOLTIPS, cast(WPARAM) t, 0);
}
int TabCtrl_GetCurFocus(HWND w) {
return SendMessage(w, TCM_GETCURFOCUS, 0, 0);
}
void TabCtrl_SetCurFocus(HWND w, int i) {
SendMessage(w, TCM_SETCURFOCUS, i, 0);
}
HIMAGELIST TabCtrl_GetImageList(HWND w) {
return cast(HIMAGELIST) SendMessage(w, TCM_GETIMAGELIST, 0, 0);
}
HIMAGELIST TabCtrl_SetImageList(HWND w, HIMAGELIST h) {
return cast(HIMAGELIST) SendMessage(w, TCM_SETIMAGELIST, 0,
cast(LPARAM) h);
}
int TabCtrl_GetItemCount(HWND w) {
return SendMessage(w, TCM_GETITEMCOUNT, 0, 0);
}
extern (Windows) BOOL _TrackMouseEvent(LPTRACKMOUSEEVENT);
HTREEITEM TreeView_InsertItem(HWND w, LPTVINSERTSTRUCT i) {
return cast(HTREEITEM) SendMessage(w, TVM_INSERTITEM, 0, cast(LPARAM) i);
}
BOOL TreeView_DeleteItem(HWND w, HTREEITEM i) {
return cast(BOOL) SendMessage(w, TVM_DELETEITEM, 0, cast(LPARAM) i);
}
BOOL TreeView_DeleteAllItems(HWND w) {
return cast(BOOL) SendMessage(w, TVM_DELETEITEM, 0, cast(LPARAM) TVI_ROOT);
}
BOOL TreeView_Expand(HWND w, HTREEITEM i, UINT c) {
return cast(BOOL) SendMessage(w, TVM_EXPAND, c, cast(LPARAM) i);
}
BOOL TreeView_GetItemRect(HWND w, HTREEITEM i, LPRECT p, BOOL c) {
*cast(HTREEITEM*) p = i;
return cast(BOOL) SendMessage(w, TVM_GETITEMRECT, c, cast(LPARAM) p);
}
UINT TreeView_GetCount(HWND w) {
return cast(UINT) SendMessage(w, TVM_GETCOUNT, 0, 0);
}
UINT TreeView_GetIndent(HWND w) {
return cast(UINT) SendMessage(w, TVM_GETINDENT, 0, 0);
}
BOOL TreeView_SetIndent(HWND w, INT i) {
return cast(BOOL) SendMessage(w, TVM_SETINDENT, i, 0);
}
HIMAGELIST TreeView_GetImageList(HWND w, INT i) {
return cast(HIMAGELIST) SendMessage(w, TVM_GETIMAGELIST, i, 0);
}
HIMAGELIST TreeView_SetImageList(HWND w, HIMAGELIST h, INT i) {
return cast(HIMAGELIST) SendMessage(w, TVM_SETIMAGELIST, i,
cast(LPARAM) h);
}
HTREEITEM TreeView_GetNextItem(HWND w, HTREEITEM i, UINT c) {
return cast(HTREEITEM) SendMessage(w, TVM_GETNEXTITEM, c, cast(LPARAM) i);
}
HTREEITEM TreeView_GetChild(HWND w, HTREEITEM i) {
return TreeView_GetNextItem(w, i, TVGN_CHILD);
}
HTREEITEM TreeView_GetNextSibling(HWND w, HTREEITEM i) {
return TreeView_GetNextItem(w, i, TVGN_NEXT);
}
HTREEITEM TreeView_GetPrevSibling(HWND w, HTREEITEM i) {
return TreeView_GetNextItem(w, i, TVGN_PREVIOUS);
}
HTREEITEM TreeView_GetParent(HWND w, HTREEITEM i) {
return TreeView_GetNextItem(w, i, TVGN_PARENT);
}
HTREEITEM TreeView_GetFirstVisible(HWND w) {
return TreeView_GetNextItem(w, null, TVGN_FIRSTVISIBLE);
}
HTREEITEM TreeView_GetNextVisible(HWND w, HTREEITEM i) {
return TreeView_GetNextItem(w, i, TVGN_NEXTVISIBLE);
}
HTREEITEM TreeView_GetPrevVisible(HWND w, HTREEITEM i) {
return TreeView_GetNextItem(w, i, TVGN_PREVIOUSVISIBLE);
}
HTREEITEM TreeView_GetSelection(HWND w) {
return TreeView_GetNextItem(w, null, TVGN_CARET);
}
HTREEITEM TreeView_GetDropHilight(HTREEITEM w) {
return TreeView_GetNextItem(w, null, TVGN_DROPHILITE);
}
HTREEITEM TreeView_GetRoot(HWND w) {
return TreeView_GetNextItem(w, null, TVGN_ROOT);
}
BOOL TreeView_Select(HWND w, HTREEITEM i, UINT c) {
return cast(BOOL) SendMessage(w, TVM_SELECTITEM, c, cast(LPARAM) i);
}
BOOL TreeView_SelectItem(HWND w, HTREEITEM i) {
return TreeView_Select(w, i, TVGN_CARET);
}
BOOL TreeView_SelectDropTarget(HWND w, HTREEITEM i) {
return TreeView_Select(w, i, TVGN_DROPHILITE);
}
BOOL TreeView_SelectSetFirstVisible(HWND w, HTREEITEM i) {
return TreeView_Select(w, i, TVGN_FIRSTVISIBLE);
}
BOOL TreeView_GetItem(HWND w, LPTVITEM i) {
return cast(BOOL) SendMessage(w, TVM_GETITEM, 0, cast(LPARAM) i);
}
BOOL TreeView_SetItem(HWND w, CPtr!(TV_ITEM) i) {
return cast(BOOL) SendMessage(w, TVM_SETITEM, 0, cast(LPARAM) i);
}
HWND TreeView_EditLabel(HWND w, HTREEITEM i) {
return cast(HWND) SendMessage(w, TVM_EDITLABEL, 0, cast(LPARAM) i);
}
HWND TreeView_GetEditControl(HWND w) {
return cast(HWND) SendMessage(w, TVM_GETEDITCONTROL, 0, 0);
}
UINT TreeView_GetVisibleCount(HWND w) {
return cast(UINT) SendMessage(w, TVM_GETVISIBLECOUNT, 0, 0);
}
HTREEITEM TreeView_HitTest(HWND w, LPTVHITTESTINFO p) {
return cast(HTREEITEM) SendMessage(w, TVM_HITTEST, 0, cast(LPARAM) p);
}
HIMAGELIST TreeView_CreateDragImage(HWND w, HTREEITEM i) {
return cast(HIMAGELIST) SendMessage(w, TVM_CREATEDRAGIMAGE, 0,
cast(LPARAM) i);
}
BOOL TreeView_SortChildren(HWND w, HTREEITEM i, BOOL r) {
return cast(BOOL) SendMessage(w, TVM_SORTCHILDREN, r, cast(LPARAM) i);
}
BOOL TreeView_EnsureVisible(HWND w, HTREEITEM i) {
return cast(BOOL) SendMessage(w, TVM_ENSUREVISIBLE, 0, cast(LPARAM) i);
}
BOOL TreeView_SortChildrenCB(HWND w, LPTVSORTCB s, BOOL r) {
return cast(BOOL) SendMessage(w, TVM_SORTCHILDRENCB, r, cast(LPARAM) s);
}
BOOL TreeView_EndEditLabelNow(HWND w, BOOL f) {
return cast(BOOL) SendMessage(w, TVM_ENDEDITLABELNOW, f, 0);
}
BOOL TreeView_GetISearchString(HWND w, LPTSTR s) {
return cast(BOOL) SendMessage(w, TVM_GETISEARCHSTRING, 0, cast(LPARAM) s);
}
static if (_WIN32_IE >= 0x300) {
DWORD ListView_ApproximateViewRect(HWND w, int iw, int ih, int i) {
return cast(DWORD) SendMessage(w, LVM_APPROXIMATEVIEWRECT, i,
MAKELPARAM(cast(ushort)iw, cast(ushort)ih));
}
DWORD ListView_SetExtendedListViewStyle(HWND w, DWORD s) {
return cast(DWORD) SendMessage(w, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, s);
}
DWORD ListView_GetExtendedListViewStyle(HWND w) {
return cast(DWORD) SendMessage(w, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
}
BOOL ListView_SetColumnOrderArray(HWND w, int i, int* a) {
return cast(BOOL) SendMessage(w, LVM_SETCOLUMNORDERARRAY,
cast(WPARAM) i, cast(LPARAM) a);
}
BOOL ListView_GetColumnOrderArray(HWND w, int i, int* a) {
return cast(BOOL) SendMessage(w, LVM_GETCOLUMNORDERARRAY,
cast(WPARAM) i, cast(LPARAM) a);
}
HWND ListView_GetHeader(HWND w) {
return cast(HWND) SendMessage(w, LVM_GETHEADER, 0, 0);
}
HCURSOR ListView_GetHotCursor(HWND w) {
return cast(HCURSOR) SendMessage(w, LVM_GETHOTCURSOR, 0, 0);
}
INT ListView_GetHotItem(HWND w) {
return SendMessage(w, LVM_GETHOTITEM, 0, 0);
}
BOOL ListView_GetSubItemRect(HWND w, int i, int isi, int c, LPRECT p) {
return cast(BOOL) SendMessage(w, LVM_GETSUBITEMRECT, i,
p ? (p.left = c, p.top = isi, cast(LPARAM) p) : 0);
}
HCURSOR ListView_SetHotCursor(HWND w, HCURSOR c) {
return cast(HCURSOR) SendMessage(w, LVM_SETHOTCURSOR, 0,
cast(LPARAM) c);
}
INT ListView_SetHotItem(HWND w, INT i) {
return SendMessage(w, LVM_SETHOTITEM, cast(WPARAM) i, 0);
}
DWORD ListView_SetIconSpacing(HWND w, int x, int y) {
return cast(DWORD) SendMessage(w, LVM_SETICONSPACING, 0,
MAKELONG(cast(ushort)x, cast(ushort)y));
}
INT ListView_SubItemHitTest(HWND w, LPLVHITTESTINFO p) {
return SendMessage(w, LVM_SUBITEMHITTEST, 0, cast(LPARAM) p);
}
BOOL ListView_SetItemCountEx(HWND w, int i, DWORD f) {
return cast(BOOL) SendMessage(w, LVM_SETITEMCOUNT, i, cast(LPARAM) f);
}
extern (Windows) {
WINBOOL ImageList_SetImageCount(HIMAGELIST, UINT);
WINBOOL ImageList_Copy(HIMAGELIST, int, HIMAGELIST, int, UINT);
WINBOOL ImageList_DrawIndirect(IMAGELISTDRAWPARAMS*);
}
int TabCtrl_SetMinTabWidth(HWND hwnd, int x) {
return SendMessage(hwnd, TCM_SETMINTABWIDTH, 0, x);
}
VOID TabCtrl_DeselectAll(HWND hwnd, UINT fExcludeFocus) {
SendMessage(hwnd, TCM_DESELECTALL, fExcludeFocus, 0);
}
HWND TreeView_GetToolTips(HWND w) {
return cast(HWND) SendMessage(w, TVM_GETTOOLTIPS, 0, 0);
}
HWND TreeView_SetToolTips(HWND w, HWND wt) {
return cast(HWND) SendMessage(w, TVM_SETTOOLTIPS, cast(WPARAM) wt, 0);
}
}
static if (_WIN32_IE >= 0x400) {
BOOL ListView_GetBkImage(HWND h, LPLVBKIMAGE plvbki) {
return cast(BOOL) SendMessage(h, LVM_GETBKIMAGE, 0,
cast(LPARAM) plvbki);
}
BOOL ListView_SetBkImage(HWND h, LPLVBKIMAGE plvbki) {
return cast(BOOL) SendMessage(h, LVM_SETBKIMAGE, 0,
cast(LPARAM) plvbki);
}
DWORD ListView_SetExtendedListViewStyleEx(HWND w, DWORD m, DWORD s) {
return cast(DWORD) SendMessage(w, LVM_SETEXTENDEDLISTVIEWSTYLE, m, s);
}
VOID ListView_SetWorkAreas(HWND w, INT n, LPRECT r) {
SendMessage(w, LVM_SETWORKAREAS, cast(WPARAM) n, cast(LPARAM) r);
}
VOID ListView_GetWorkAreas(HWND w, INT n, LPRECT r) {
SendMessage(w, LVM_GETWORKAREAS, cast(WPARAM) n, cast(LPARAM) r);
}
BOOL ListView_GetNumberOfWorkAreas(HWND w, LPUINT n) {
return cast(BOOL) SendMessage(w, LVM_GETNUMBEROFWORKAREAS, 0,
cast(LPARAM) n);
}
DWORD ListView_SetHoverTime(HWND w, DWORD t) {
return cast(DWORD) SendMessage(w, LVM_SETHOVERTIME, 0,
cast(LPARAM) t);
}
DWORD ListView_GetHoverTime(HWND w) {
return cast(DWORD) SendMessage(w, LVM_GETHOVERTIME, 0, 0);
}
INT ListView_GetSelectionMark(HWND w) {
return SendMessage(w, LVM_GETSELECTIONMARK, 0, 0);
}
INT ListView_SetSelectionMark(HWND w, INT i) {
return SendMessage(w, LVM_SETSELECTIONMARK, 0, cast(LPARAM) i);
}
HWND ListView_SetToolTips(HWND w, HWND n) {
return cast(HWND) SendMessage(w, LVM_SETTOOLTIPS, cast(WPARAM) n, 0);
}
HWND ListView_GetToolTips(HWND w) {
return cast(HWND) SendMessage(w, LVM_GETTOOLTIPS, 0, 0);
}
BOOL ListView_SetUnicodeFormat(HWND w, BOOL f) {
return cast(BOOL) SendMessage(w, LVM_SETUNICODEFORMAT,
cast(WPARAM) f, 0);
}
BOOL ListView_GetUnicodeFormat(HWND w) {
return cast(BOOL) SendMessage(w, LVM_GETUNICODEFORMAT, 0, 0);
}
BOOL TabCtrl_HighlightItem(HWND hwnd, INT i, WORD fHighlight) {
return cast(BOOL) SendMessage(hwnd, TCM_HIGHLIGHTITEM,
cast(WPARAM) i, cast(LPARAM) MAKELONG(fHighlight, 0));
}
DWORD TabCtrl_SetExtendedStyle(HWND hwnd, DWORD dw) {
return cast(DWORD) SendMessage(hwnd, TCM_SETEXTENDEDSTYLE, 0, dw);
}
DWORD TabCtrl_GetExtendedStyle(HWND hwnd) {
return cast(DWORD) SendMessage(hwnd, TCM_GETEXTENDEDSTYLE, 0, 0);
}
BOOL TabCtrl_SetUnicodeFormat(HWND hwnd, HWND fUnicode) {
return cast(BOOL) SendMessage(hwnd, TCM_SETUNICODEFORMAT,
cast(WPARAM) fUnicode, 0);
}
BOOL TabCtrl_GetUnicodeFormat(HWND hwnd) {
return cast(BOOL) SendMessage(hwnd, TCM_GETUNICODEFORMAT, 0, 0);
}
COLORREF TreeView_GetBkColor(HWND w) {
return cast(COLORREF) SendMessage(w, TVM_GETBKCOLOR, 0, 0);
}
COLORREF TreeView_GetInsertMarkColor(HWND w) {
return cast(COLORREF) SendMessage(w, TVM_GETINSERTMARKCOLOR, 0, 0);
}
int TreeView_GetItemHeight(HWND w) {
return SendMessage(w, TVM_GETITEMHEIGHT, 0, 0);
}
UINT TreeView_GetScrollTime(HWND w) {
return cast(UINT) SendMessage(w, TVM_GETSCROLLTIME, 0, 0);
}
COLORREF TreeView_GetTextColor(HWND w) {
return cast(COLORREF) SendMessage(w, TVM_GETTEXTCOLOR, 0, 0);
}
COLORREF TreeView_SetBkColor(HWND w, COLORREF c) {
return cast(COLORREF) SendMessage(w, TVM_SETBKCOLOR, 0,
cast(LPARAM) c);
}
COLORREF TreeView_SetInsertMarkColor(HWND w, COLORREF c) {
return cast(COLORREF) SendMessage(w, TVM_SETINSERTMARKCOLOR, 0,
cast(LPARAM) c);
}
int TreeView_SetItemHeight(HWND w, SHORT h) {
return SendMessage(w, TVM_SETITEMHEIGHT, cast(WPARAM) h, 0);
}
UINT TreeView_SetScrollTime(HWND w, UINT t) {
return cast(UINT) SendMessage(w, TVM_SETSCROLLTIME, cast(WPARAM) t, 0);
}
COLORREF TreeView_SetTextColor(HWND w, COLORREF c) {
return cast(COLORREF) SendMessage(w, TVM_SETTEXTCOLOR, 0,
cast(LPARAM) c);
}
BOOL TreeView_SetInsertMark(HWND w, HTREEITEM i, BOOL a) {
return cast(BOOL) SendMessage(w, TVM_SETINSERTMARK, cast(WPARAM) a,
cast(LPARAM) i);
}
BOOL TreeView_SetUnicodeFormat(HWND w, BOOL u) {
return cast(BOOL) SendMessage(w, TVM_SETUNICODEFORMAT,
cast(WPARAM) u, 0);
}
BOOL TreeView_GetUnicodeFormat(HWND w) {
return cast(BOOL) SendMessage(w, TVM_GETUNICODEFORMAT, 0, 0);
}
HTREEITEM TreeView_GetLastVisible(HWND w) {
return TreeView_GetNextItem(w, null, TVGN_LASTVISIBLE);
}
}
static if (_WIN32_IE >= 0x500) {
UINT TreeView_GetItemState(HWND w, HTREEITEM i, UINT m) {
return cast(UINT) SendMessage(w, TVM_GETITEMSTATE, cast(WPARAM) i,
cast(LPARAM) m);
}
BOOL TreeView_SetItemState(HWND w, HTREEITEM i, UINT d, UINT m) {
TVITEM _tvi;
_tvi.mask = TVIF_STATE;
_tvi.hItem = i;
_tvi.stateMask = m;
_tvi.state = d;
return cast(BOOL) SendMessage(w, TVM_SETITEM, 0, cast(LPARAM) &_tvi);
}
}
//#ifdef _WIN32_WCE // these are PPC only
/+
extern (Windows) {
HWND CommandBar_Create(HINSTANCE, HWND, int);
BOOL CommandBar_Show(HWND, BOOL);
int CommandBar_AddBitmap(HWND, HINSTANCE, int, int, int, int);
HWND CommandBar_InsertComboBox(HWND, HINSTANCE, int, UINT, WORD, WORD);
BOOL CommandBar_InsertMenubar(HWND, HINSTANCE, WORD, WORD );
BOOL CommandBar_InsertMenubarEx(HWND, HINSTANCE, LPTSTR, WORD);
BOOL CommandBar_DrawMenuBar(HWND, WORD);
HMENU CommandBar_GetMenu(HWND, WORD);
BOOL CommandBar_AddAdornments(HWND, DWORD, DWORD);
int CommandBar_Height(HWND hwndCB);
}
// MinGW: These two are not in the DLL
void CommandBar_InsertButton(HWND hwnd, int i, LPTBBUTTON lptbbutton) {
SendMessage(hwnd, TB_INSERTBUTTON, i, lptbbutton);
}
alias DestroyWindow CommandBar_Destroy;
+/
//#endif // _WIN32_WCE