blob: c9add615a5fe036e94c3d9cb771042f634c752ba [file]
/**
* Windows API header module
*
* Translated from MinGW API for MS-Windows 3.12
*
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(DRUNTIMESRC core/sys/windows/_commctrl.d)
*/
module core.sys.windows.commctrl;
version (Windows):
version (ANSI) {} else version = Unicode;
pragma(lib, "comctl32");
import core.sys.windows.w32api, core.sys.windows.windef, core.sys.windows.winuser;
import core.sys.windows.winbase; // for SYSTEMTIME
import core.sys.windows.objfwd; // for LPSTREAM
import core.sys.windows.prsht;
enum 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,
ACM_ISPLAYING = WM_USER + 104
}
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
}
enum 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
}
enum CMB_MASKED = 2;
enum 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
}
}
static if (_WIN32_IE >= 0x500) {
enum {
WMN_FIRST = -1000U,
WMN_LAST = -1200U,
}
}
static if (_WIN32_WINNT >= 0x501)
{
enum {
BCN_FIRST = -1250U,
BCN_LAST = -1350U,
}
}
static if (_WIN32_WINNT >= 0x600)
{
enum {
TRBN_FIRST = -1501U,
TRBN_LAST = -1519U,
}
}
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
}
}
static if (_WIN32_IE >= 0x500) {
enum {
HDM_SETBITMAPMARGIN = HDM_FIRST + 20,
HDM_GETBITMAPMARGIN = HDM_FIRST + 21,
HDM_SETFILTERCHANGETIMEOUT = HDM_FIRST + 22,
HDM_EDITFILTER = HDM_FIRST + 23,
HDM_CLEARFILTER = HDM_FIRST + 24,
}
}
static if (_WIN32_IE >= 0x600) {
enum {
HDM_GETITEMDROPDOWNRECT = HDM_FIRST + 25,
HDM_GETOVERFLOWRECT = HDM_FIRST + 26,
HDM_GETFOCUSEDITEM = HDM_FIRST + 27,
HDM_SETFOCUSEDITEM = HDM_FIRST + 28,
}
}
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
}
}
enum 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_SETHOTITEM2 = WM_USER + 94,
TB_SETLISTGAP = WM_USER + 96,
TB_GETIMAGELISTCOUNT = WM_USER + 98,
TB_GETIDEALSIZE = WM_USER + 99,
//TB_TRANSLATEACCELERATOR = CCM_TRANSLATEACCELERATOR,
TB_SETCOLORSCHEME = CCM_SETCOLORSCHEME,
TB_GETCOLORSCHEME = CCM_GETCOLORSCHEME,
TB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
TB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
}
}
static if (_WIN32_WINNT >= 0x501) {
enum {
TB_GETMETRICS = WM_USER + 101,
TB_SETMETRICS = WM_USER + 102,
}
}
static if (_WIN32_WINNT >= 0x600) {
enum {
TB_GETITEMDROPDOWNRECT = WM_USER + 103,
TB_SETPRESSEDIMAGELIST = WM_USER + 104,
TB_GETPRESSEDIMAGELIST = WM_USER + 105,
}
}
enum 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
}
static if (_WIN32_IE >= 0x500) {
alias TTM_SETTITLE = TTM_SETTITLEW;
} else {
alias TTM_SETTITLE = TTM_SETTITLEA;
}
}
static if (_WIN32_WINNT >= 0x501) {
enum {
TTM_POPUP = (WM_USER + 34),
TTM_GETTITLE = (WM_USER + 35),
}
}
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
}
enum UD_MAXVAL = 0x7fff;
enum 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
}
static if (_WIN32_WINNT >= 0x501) {
enum {
PBM_SETMARQUEE = WM_USER + 10,
}
}
static if (_WIN32_WINNT >= 0x600) {
enum {
PBM_GETSTEP = WM_USER + 13,
PBM_GETBKCOLOR,
PBM_GETBARCOLOR,
PBM_SETSTATE,
PBM_GETSTATE,
}
}
enum {
PBS_SMOOTH = 1,
PBS_VERTICAL = 4
}
static if (_WIN32_WINNT >= 0x501) {
enum {
PBS_MARQUEE = 8,
}
}
static if (_WIN32_WINNT >= 0x600) {
enum {
PBS_SMOOTHREVERSE = 16,
}
}
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_GETGROUPSTATE = LVM_FIRST + 92,
LVM_GETFOCUSEDGROUP,
LVM_GETGROUPRECT = LVM_FIRST + 98,
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_GETGROUPCOUNT,
LVM_GETGROUPINFOBYINDEX,
LVM_MOVEITEMTOGROUP,
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_MAPINDEXTOID = LVM_FIRST + 180,
LVM_MAPIDTOINDEX = LVM_FIRST + 181,
LVM_ISITEMVISIBLE = LVM_FIRST + 182,
}
static if (_WIN32_WINNT >= 0x501) {
enum {
LVM_SETSELECTEDCOLUMN = LVM_FIRST + 140
}
}
static if (_WIN32_WINNT >= 0x600) {
enum {
LVM_GETEMPTYTEXT = LVM_FIRST + 204,
LVM_GETFOOTERRECT = LVM_FIRST + 205,
LVM_GETFOOTERINFO = LVM_FIRST + 206,
LVM_GETFOOTERITEMRECT = LVM_FIRST + 207,
LVM_GETFOOTERITEM = (LVM_FIRST + 208),
LVM_GETITEMINDEXRECT = (LVM_FIRST + 209),
LVM_SETITEMINDEXSTATE = (LVM_FIRST + 210),
LVM_GETNEXTITEMINDEX = (LVM_FIRST + 211),
}
}
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
}
enum LPWSTR LPSTR_TEXTCALLBACKW = cast(LPWSTR) -1;
enum LPSTR LPSTR_TEXTCALLBACKA = cast(LPSTR) -1;
enum 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 HTREEITEM = HANDLE;
alias HIMAGELIST = HANDLE;
version (Win64)
{
enum HTREEITEM
TVI_ROOT = cast(HTREEITEM) cast(ULONG_PTR)-0x10000,
TVI_FIRST = cast(HTREEITEM) cast(ULONG_PTR)-0xffff,
TVI_LAST = cast(HTREEITEM) cast(ULONG_PTR)-0xfffe,
TVI_SORT = cast(HTREEITEM) cast(ULONG_PTR)-0xfffd;
} else {
enum 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
}
}
static if (_WIN32_IE >= 0x501) {
enum {
TVM_MAPACCIDTOHTREEITEM = TV_FIRST + 42,
TVM_MAPHTREEITEMTOACCID = TV_FIRST + 43,
TVM_SETEXTENDEDSTYLE = TV_FIRST + 44,
TVM_GETEXTENDEDSTYLE = TV_FIRST + 45,
TVM_SETAUTOSCROLLINFO = TV_FIRST + 59
}
}
static if (_WIN32_IE >= 0x600) {
enum {
TVM_GETSELECTEDCOUNT = TV_FIRST + 70,
TVM_SHOWINFOTIP = TV_FIRST + 71,
TVM_GETITEMPARTRECT = TV_FIRST + 72,
}
}
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
}
}
static if (_WIN32_IE >= 0x600) {
enum {
TVGN_NEXTSELECTED = 11
}
}
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,
RB_GETBANDMARGINS = WM_USER + 40,
RB_SETWINDOWTHEME = CCM_SETWINDOWTHEME,
TB_SETWINDOWTHEME = CCM_SETWINDOWTHEME,
TTM_SETWINDOWTHEME = CCM_SETWINDOWTHEME,
}
}
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_FIRST = 0x1000,
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
}
static if (_WIN32_WINNT >= 0x600) {
enum {
DTM_SETMCSTYLE = DTM_FIRST + 11,
DTM_GETMCSTYLE,
DTM_CLOSEMONTHCAL,
DTM_GETDATETIMEPICKERINFO,
DTM_GETIDEALSIZE,
}
}
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_FIRST = 0x1000,
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
}
static if (_WIN32_WINNT >= 0x600) {
enum {
MCM_GETCURRENTVIEW = MCM_FIRST + 22,
MCM_GETCALENDARCOUNT,
MCM_GETCALENDARGRIDINFO,
MCM_GETCALID = MCM_FIRST + 27,
MCM_SETCALID,
MCM_SIZERECTTOMIN,
MCM_SETCALENDARBORDER,
MCM_GETCALENDARBORDER,
MCM_SETCURRENTVIEW,
}
}
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_SETTIPTEXT = SB_SETTIPTEXTW;
alias SB_GETTIPTEXT = SB_GETTIPTEXTW;
alias RB_GETBANDINFO = RB_GETBANDINFOW;
} else {
alias SB_SETTIPTEXT = SB_SETTIPTEXTA;
alias SB_GETTIPTEXT = SB_GETTIPTEXTA;
alias RB_GETBANDINFO = RB_GETBANDINFOA;
}
} else {
enum {
RB_GETBANDINFO = WM_USER + 5
}
}
static if (_WIN32_IE >= 0x500) {
enum {
RB_PUSHCHEVRON = WM_USER + 43,
}
}
static if (_WIN32_IE >= 0x600) {
enum {
RB_SETEXTENDEDSTYLE = WM_USER + 41,
RB_GETEXTENDEDSTYLE = WM_USER + 42,
}
}
static if (_WIN32_WINNT >= 0x500) {
enum {
RB_SETBANDWIDTH = WM_USER + 44,
}
}
static if (_WIN32_WINNT >= 0x501) {
enum {
ECM_FIRST = 0x1500,
BCM_FIRST = 0x1600,
BCM_GETIDEALSIZE = BCM_FIRST + 0x0001,
BCM_SETIMAGELIST = BCM_FIRST + 0x0002,
BCM_GETIMAGELIST = BCM_FIRST + 0x0003,
BCM_SETTEXTMARGIN = BCM_FIRST + 0x0004,
BCM_GETTEXTMARGIN = BCM_FIRST + 0x0005,
BCN_HOTITEMCHANGE = BCN_FIRST + 0x0001,
}
struct NMBCHOTITEM {
NMHDR hdr;
DWORD dwFlags;
}
alias LPNMBCHOTITEM = NMBCHOTITEM*;
}
static if (_WIN32_WINNT >= 0x600) {
enum {
BST_DROPDOWNPUSHED = 0x0400,
BS_SPLITBUTTON = 0x0000_000C,
BS_DEFSPLITBUTTON = 0x0000_000D,
BS_COMMANDLINK = 0x0000_000E,
BS_DEFCOMMANDLINK = 0x0000_000F,
BCSIF_GLYPH = 0x0001,
BCSIF_IMAGE = 0x0002,
BCSIF_STYLE = 0x0004,
BCSIF_SIZE = 0x0008,
BCSS_NOSPLIT = 0x0001,
BCSS_STRETCH = 0x0002,
BCSS_ALIGNLEFT = 0x0004,
BCSS_IMAGE = 0x0008,
BCM_SETDROPDOWNSTATE = BCM_FIRST + 0x0006,
BCM_SETSPLITINFO = BCM_FIRST + 0x0007,
BCM_GETSPLITINFO = BCM_FIRST + 0x0008,
BCM_SETNOTE = BCM_FIRST + 0x0009,
BCM_GETNOTE = BCM_FIRST + 0x000A,
BCM_GETNOTELENGTH = BCM_FIRST + 0x000B,
BCM_SETSHIELD = BCM_FIRST + 0x000C,
BCN_DROPDOWN = BCN_FIRST + 0x0002,
}
enum HIMAGELIST BCCL_NOGLYPH = cast(HIMAGELIST)-1;
struct BUTTON_SPLITINFO
{
UINT mask;
HIMAGELIST himlGlyph;
UINT uSplitStyle;
SIZE size;
}
alias PBUTTON_SPLITINFO = BUTTON_SPLITINFO*;
}
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
}
static if (_WIN32_WINNT >= 0x501)
{
enum {
CBEM_SETWINDOWTHEME = CCM_SETWINDOWTHEME
}
}
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 >= 0x501) {
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
LM_GETIDEALSIZE = LM_GETIDEALHEIGHT,
}
enum size_t MAX_LINKID_TEXT = 48;
enum size_t L_MAX_URL_LENGTH = 2084;
}
struct TBMETRICS {
UINT cbSize = TBMETRICS.sizeof;
DWORD dwMask;
int cxPad;
int cyPad;
int cxBarPad;
int cyBarPad;
int cxButtonSpacing;
int cyButtonSpacing;
}
alias LPTBMETRICS = TBMETRICS*;
static if (_WIN32_WINNT >= 0x501) {
struct TTGETTITLE {
DWORD dwSize = TTGETTITLE.sizeof;
UINT uTitleBitmap;
UINT cch;
WCHAR* pszTitle;
}
alias PTTGETTITLE = TTGETTITLE*;
}
static if (_WIN32_WINNT >= 0x600) {
struct MCGRIDINFO {
UINT cbSize;
DWORD dwPart;
DWORD dwFlags;
int iCalendar;
int iRow;
int iCol;
BOOL bSelected;
SYSTEMTIME stStart;
SYSTEMTIME stEnd;
RECT rc;
PWSTR pszName;
size_t cchName;
}
alias PMCGRIDINFO = MCGRIDINFO*;
struct DATETIMEPICKERINFO
{
DWORD cbSize;
RECT rcCheck;
DWORD stateCheck;
RECT rcButton;
DWORD stateButton;
HWND hwndEdit;
HWND hwndUD;
HWND hwndDropDown;
}
alias LPDATETIMEPICKERINFO = DATETIMEPICKERINFO*;
}
struct COMBOBOXEXITEMA {
UINT mask;
INT_PTR iItem;
LPSTR pszText;
int cchTextMax;
int iImage;
int iSelectedImage;
int iOverlay;
int iIndent;
LPARAM lParam;
}
alias PCOMBOBOXEXITEMA = COMBOBOXEXITEMA*;
alias PCCOMBOEXITEMA = const(COMBOBOXEXITEMA)*;
struct COMBOBOXEXITEMW {
UINT mask;
INT_PTR iItem;
LPWSTR pszText;
int cchTextMax;
int iImage;
int iSelectedImage;
int iOverlay;
int iIndent;
LPARAM lParam;
}
alias PCOMBOBOXEXITEMW = COMBOBOXEXITEMW*;
alias PCCOMBOEXITEMW = const(COMBOBOXEXITEMW)*;
static if (_WIN32_IE >= 0x400) {
struct NMCOMBOBOXEXA {
NMHDR hdr;
COMBOBOXEXITEMA ceItem;
}
alias PNMCOMBOBOXEXA = NMCOMBOBOXEXA*;
struct NMCOMBOBOXEXW {
NMHDR hdr;
COMBOBOXEXITEMW ceItem;
}
alias PNMCOMBOBOXEXW = NMCOMBOBOXEXW*;
struct NMCBEDRAGBEGINW {
NMHDR hdr;
int iItemid;
WCHAR[CBEMAXSTRLEN] szText = 0;
}
alias LPNMCBEDRAGBEGINW = NMCBEDRAGBEGINW*, PNMCBEDRAGBEGINW = NMCBEDRAGBEGINW*;
struct NMCBEDRAGBEGINA {
NMHDR hdr;
int iItemid;
char[CBEMAXSTRLEN] szText = 0;
}
alias LPNMCBEDRAGBEGINA = NMCBEDRAGBEGINA*, PNMCBEDRAGBEGINA = NMCBEDRAGBEGINA*;
struct NMIPADDRESS {
NMHDR hdr;
int iField;
int iValue;
}
alias LPNMIPADDRESS = NMIPADDRESS*;
align (1)
struct NMLVKEYDOWN {
align (1):
NMHDR hdr;
WORD wVKey;
UINT flags;
}
alias LPNMLVKEYDOWN = NMLVKEYDOWN*;
struct NMPGCALCSIZE {
NMHDR hdr;
DWORD dwFlag;
int iWidth;
int iHeight;
}
alias LPNMPGCALCSIZE = NMPGCALCSIZE*;
align (1)
struct NMPGSCROLL {
align (1):
NMHDR hdr;
WORD fwKeys; // Note: this should be WORD if MSDN document says wrong
RECT rcParent;
int iDir;
int iXpos;
int iYpos;
int iScroll;
}
alias LPNMPGSCROLL = NMPGSCROLL*;
struct NMSELCHANGE {
NMHDR nmhdr;
SYSTEMTIME stSelStart;
SYSTEMTIME stSelEnd;
}
alias LPNMSELCHANGE = NMSELCHANGE*;
struct NMTBHOTITEM {
NMHDR hdr;
int idOld;
int idNew;
DWORD dwFlags;
}
alias LPNMTBHOTITEM = NMTBHOTITEM*;
struct NMTBDISPINFOA {
NMHDR hdr;
DWORD dwMask;
int idCommand;
DWORD_PTR lParam;
int iImage;
LPSTR pszText;
int cchText;
}
alias LPNMTBDISPINFOA = NMTBDISPINFOA*;
struct NMTBDISPINFOW {
NMHDR hdr;
DWORD dwMask;
int idCommand;
DWORD_PTR lParam;
int iImage;
LPWSTR pszText;
int cchText;
}
alias LPNMTBDISPINFOW = NMTBDISPINFOW*;
struct NMTBGETINFOTIPA {
NMHDR hdr;
LPSTR pszText;
int cchTextMax;
int iItem;
LPARAM lParam;
}
alias LPNMTBGETINFOTIPA = NMTBGETINFOTIPA*;
struct NMTBGETINFOTIPW {
NMHDR hdr;
LPWSTR pszText;
int cchTextMax;
int iItem;
LPARAM lParam;
}
alias LPNMTBGETINFOTIPW = NMTBGETINFOTIPW*;
struct NMMOUSE {
NMHDR hdr;
DWORD_PTR dwItemSpec;
DWORD_PTR dwItemData;
POINT pt;
LPARAM dwHitInfo;
}
alias LPNMMOUSE = NMMOUSE*;
}
static if (_WIN32_IE >= 0x401) {
struct NMTOOLTIPSCREATED {
NMHDR hdr;
HWND hwndToolTips;
}
alias LPNMTOOLTIPSCREATED = NMTOOLTIPSCREATED*;
}
struct NMDATETIMECHANGE {
NMHDR nmhdr;
DWORD dwFlags;
SYSTEMTIME st;
}
alias LPNMDATETIMECHANGE = NMDATETIMECHANGE*;
struct NMCBEENDEDITW {
NMHDR hdr;
BOOL fChanged;
int iNewSelection;
WCHAR[CBEMAXSTRLEN] szText = 0;
int iWhy;
}
alias LPNMCBEENDEDITW = NMCBEENDEDITW*, PNMCBEENDEDITW = NMCBEENDEDITW*;
struct NMCBEENDEDITA {
NMHDR hdr;
BOOL fChanged;
int iNewSelection;
char[CBEMAXSTRLEN] szText = 0;
int iWhy;
}
alias LPNMCBEENDEDITA = NMCBEENDEDITA*, PNMCBEENDEDITA = NMCBEENDEDITA*;
struct COLORMAP {
COLORREF from;
COLORREF to;
}
alias LPCOLORMAP = COLORMAP*;
struct DRAGLISTINFO {
UINT uNotification;
HWND hWnd;
POINT ptCursor;
}
alias LPDRAGLISTINFO = DRAGLISTINFO*;
struct TBBUTTON {
int iBitmap;
int idCommand;
BYTE fsState;
BYTE fsStyle;
version (Win64){
BYTE[6] bReserved;
} else {
BYTE[2] bReserved;
}
DWORD_PTR dwData;
INT_PTR iString;
}
alias PTBBUTTON = TBBUTTON*, LPTBBUTTON = TBBUTTON*;
alias LPCTBBUTTON = const(TBBUTTON)*;
static if (_WIN32_IE >= 0x400) {
struct TBBUTTONINFOA {
UINT cbSize = TBBUTTONINFOA.sizeof;
DWORD dwMask;
int idCommand;
int iImage;
BYTE fsState;
BYTE fsStyle;
WORD cx;
DWORD_PTR lParam;
LPSTR pszText;
int cchText;
}
alias LPTBBUTTONINFOA = TBBUTTONINFOA*;
struct TBBUTTONINFOW {
UINT cbSize = TBBUTTONINFOW.sizeof;
DWORD dwMask;
int idCommand;
int iImage;
BYTE fsState;
BYTE fsStyle;
WORD cx;
DWORD_PTR lParam;
LPWSTR pszText;
int cchText;
}
alias LPTBBUTTONINFOW = TBBUTTONINFOW*;
struct TBINSERTMARK {
int iButton;
DWORD dwFlags;
}
alias LPTBINSERTMARK = TBINSERTMARK*;
struct LVBKIMAGEA {
ULONG ulFlags;
HBITMAP hbm;
LPSTR pszImage;
UINT cchImageMax;
int xOffsetPercent;
int yOffsetPercent;
}
alias LPLVBKIMAGEA = LVBKIMAGEA*;
struct LVBKIMAGEW {
ULONG ulFlags;
HBITMAP hbm;
LPWSTR pszImage;
UINT cchImageMax;
int xOffsetPercent;
int yOffsetPercent;
}
alias LPLVBKIMAGEW = LVBKIMAGEW*;
}
/*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 LPIMAGEINFO = IMAGEINFO*;
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 LPHDITEMA = HDITEMA*;
alias LPHDITEMW = HDITEMW*;
deprecated {
alias HD_ITEMA = HDITEMA;
alias HD_ITEMW = HDITEMW;
//alias HDITEM HD_ITEM; fixme
}
struct HD_LAYOUT {
RECT* prc;
WINDOWPOS* pwpos;
}
alias LPHDLAYOUT = HD_LAYOUT*;
deprecated alias HDLAYOUT = HD_LAYOUT;
struct HD_HITTESTINFO {
POINT pt;
UINT flags;
int iItem;
}
alias LPHDHITTESTINFO = HD_HITTESTINFO*;
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 LPNMHEADERA = NMHEADERA*;
struct NMHEADERW {
NMHDR hdr;
int iItem;
int iButton;
HDITEMW* pitem;
}
alias LPNMHEADERW = NMHEADERW*;
version (Unicode) {
alias NMHEADER = NMHEADERW;
alias LPNMHEADER = LPNMHEADERW;
} else {
alias NMHEADER = NMHEADERA;
alias LPNMHEADER = LPNMHEADERA;
}
// End FIXME
struct NMHDDISPINFOA {
NMHDR hdr;
int iItem;
UINT mask;
LPSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
}
alias LPNMHDDISPINFOA = NMHDDISPINFOA*;
struct NMHDDISPINFOW {
NMHDR hdr;
int iItem;
UINT mask;
LPWSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
}
alias LPNMHDDISPINFOW = NMHDDISPINFOW*;
struct NMCUSTOMDRAW {
NMHDR hdr;
DWORD dwDrawStage;
HDC hdc;
RECT rc;
DWORD_PTR dwItemSpec;
UINT uItemState;
LPARAM lItemlParam;
}
alias LPNMCUSTOMDRAW = NMCUSTOMDRAW*;
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 LPNMLVCUSTOMDRAW = NMLVCUSTOMDRAW*;
static if (_WIN32_IE >= 0x400) {
struct NMLVGETINFOTIPA {
NMHDR hdr;
DWORD dwFlags;
LPSTR pszText;
int cchTextMax;
int iItem;
int iSubItem;
LPARAM lParam;
}
alias LPNMLVGETINFOTIPA = NMLVGETINFOTIPA*;
struct NMLVGETINFOTIPW {
NMHDR hdr;
DWORD dwFlags;
LPWSTR pszText;
int cchTextMax;
int iItem;
int iSubItem;
LPARAM lParam;
}
alias LPNMLVGETINFOTIPW = NMLVGETINFOTIPW*;
}
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 LPNMTVCUSTOMDRAW = NMTVCUSTOMDRAW*;
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 LPNMTBCUSTOMDRAW = NMTBCUSTOMDRAW*;
struct NMITEMACTIVATE {
NMHDR hdr;
int iItem;
int iSubItem;
UINT uNewState;
UINT uOldState;
UINT uChanged;
POINT ptAction;
LPARAM lParam;
UINT uKeyFlags;
}
alias LPNMITEMACTIVATE = NMITEMACTIVATE*;
}
struct TBADDBITMAP {
HINSTANCE hInst;
UINT_PTR nID;
}
alias LPTBADDBITMAP = TBADDBITMAP*;
struct TBSAVEPARAMSA {
HKEY hkr;
LPCSTR pszSubKey;
LPCSTR pszValueName;
}
struct TBSAVEPARAMSW {
HKEY hkr;
LPCWSTR pszSubKey;
LPCWSTR pszValueName;
}
struct TBREPLACEBITMAP {
HINSTANCE hInstOld;
UINT_PTR nIDOld;
HINSTANCE hInstNew;
UINT_PTR nIDNew;
int nButtons;
}
alias LPTBREPLACEBITMAP = TBREPLACEBITMAP*;
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 LPNMTOOLBARA = NMTOOLBARA*;
alias LPNMTOOLBARW = NMTOOLBARW*;
alias TBNOTIFYA = NMTOOLBARA;
alias LPTBNOTIFYA = LPNMTOOLBARA;
alias TBNOTIFYW = NMTOOLBARW;
alias LPTBNOTIFYW = LPNMTOOLBARW;
static if (_WIN32_WINNT >= 0x501) {
struct TOOLINFOA {
UINT cbSize = TOOLINFOA.sizeof;
UINT uFlags;
HWND hwnd;
UINT_PTR uId;
RECT rect;
HINSTANCE hinst;
LPSTR lpszText;
LPARAM lParam;
void* lpReserved;
}
struct TOOLINFOW {
UINT cbSize = TOOLINFOW.sizeof;
UINT uFlags;
HWND hwnd;
UINT_PTR uId;
RECT rect;
HINSTANCE hinst;
LPWSTR lpszText;
LPARAM lParam;
void* lpReserved;
}
enum 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;
}
enum 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;
}
enum size_t
TTTOOLINFOA_V1_SIZE = TOOLINFOA.sizeof,
TTTOOLINFOW_V1_SIZE = TOOLINFOW.sizeof;
}
alias TTTOOLINFOA = TOOLINFOA;
alias TTTOOLINFOW = TOOLINFOW;
alias LPTTTOOLINFOA = TTTOOLINFOA*, PTOOLINFOA = TTTOOLINFOA*, LPTOOLINFOA = TTTOOLINFOA*;
alias LPTTTOOLINFOW = TTTOOLINFOW*, PTOOLINFOW = TTTOOLINFOW*, LPTOOLINFOW = TTTOOLINFOW*;
struct TTHITTESTINFOA {
HWND hwnd;
POINT pt;
TOOLINFOA ti;
}
alias LPTTHITTESTINFOA = TTHITTESTINFOA*, LPHITTESTINFOA = TTHITTESTINFOA*;
struct TTHITTESTINFOW {
HWND hwnd;
POINT pt;
TOOLINFOW ti;
}
alias LPTTHITTESTINFOW = TTHITTESTINFOW*, LPHITTESTINFOW = TTHITTESTINFOW*;
static if (_WIN32_IE >= 0x300) {
struct NMTTDISPINFOA {
NMHDR hdr;
LPSTR lpszText;
char[80] szText = 0;
HINSTANCE hinst;
UINT uFlags;
LPARAM lParam;
}
struct NMTTDISPINFOW {
NMHDR hdr;
LPWSTR lpszText;
WCHAR[80] szText = 0;
HINSTANCE hinst;
UINT uFlags;
LPARAM lParam;
}
} else {
struct NMTTDISPINFOA {
NMHDR hdr;
LPSTR lpszText;
char[80] szText = 0;
HINSTANCE hinst;
UINT uFlags;
}
struct NMTTDISPINFOW {
NMHDR hdr;
LPWSTR lpszText;
WCHAR[80] szText = 0;
HINSTANCE hinst;
UINT uFlags;
}
}
alias LPNMTTDISPINFOA = NMTTDISPINFOA*;
alias LPNMTTDISPINFOW = NMTTDISPINFOW*;
alias TOOLTIPTEXTA = NMTTDISPINFOA;
alias LPTOOLTIPTEXTA = LPNMTTDISPINFOA;
alias TOOLTIPTEXTW = NMTTDISPINFOW;
alias LPTOOLTIPTEXTW = LPNMTTDISPINFOW;
struct UDACCEL {
UINT nSec;
UINT nInc;
}
alias LPUDACCEL = UDACCEL*;
struct NMUPDOWN {
NMHDR hdr;
int iPos;
int iDelta;
}
alias LPNMUPDOWN = NMUPDOWN*;
deprecated {
alias NM_UPDOWN = NMUPDOWN;
alias LPNM_UPDOWN = LPNMUPDOWN;
}
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 LPLVITEMA = LVITEMA*;
alias LPLVITEMW = LVITEMW*;
alias LV_ITEMA = LVITEMA;
alias LV_ITEMW = LVITEMW;
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 LPFINDINFOA = LVFINDINFOA*;
alias LV_FINDINFOA = LVFINDINFOA;
alias LPFINDINFOW = LVFINDINFOW*;
alias LV_FINDINFOW = LVFINDINFOW;
struct NMLVFINDITEMA {
NMHDR hdr;
int iStart;
LVFINDINFOA lvfi;
}
struct NMLVFINDITEMW {
NMHDR hdr;
int iStart;
LVFINDINFOW lvfi;
}
alias PNMLVFINDITEMA = NMLVFINDITEMA*, LPNMLVFINDITEMA = NMLVFINDITEMA*;
alias PNMLVFINDITEMW = NMLVFINDITEMW*, LPNMLVFINDITEMW = NMLVFINDITEMW*;
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 LPLVHITTESTINFO = LVHITTESTINFO*;
alias LV_HITTESTINFO = LVHITTESTINFO;
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 LPLVCOLUMNA = LVCOLUMNA*;
alias LPLVCOLUMNW = LVCOLUMNW*;
alias LV_COLUMNA = LVCOLUMNA;
alias LV_COLUMNW = LVCOLUMNW;
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 PLVGROUP = LVGROUP*;
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 PLVGROUPMETRICS = LVGROUPMETRICS*;
struct LVINSERTMARK {
UINT cbSize = LVINSERTMARK.sizeof;
DWORD dwFlags;
int iItem;
DWORD dwReserved;
}
alias PLVINSERTMARK = LVINSERTMARK*;
alias LPLVINSERTMARK = LVINSERTMARK*;
struct LVTILEINFO {
UINT cbSize = LVTILEINFO.sizeof;
int iItem;
UINT cColumns;
PUINT puColumns;
static if (_WIN32_WINNT >= 0x600) {
int* piColFmt;
}
}
alias PLVTILEINFO = LVTILEINFO*;
struct LVTILEVIEWINFO {
UINT cbSize = LVTILEVIEWINFO.sizeof;
DWORD dwMask;
DWORD dwFlags;
SIZE sizeTile;
int cLines;
RECT rcLabelMargin;
}
alias PLVTILEVIEWINFO = LVTILEVIEWINFO*;
struct LVINSERTGROUPSORTED {
PFNLVGROUPCOMPARE pfnGroupCompare;
LPVOID* pvData;
LVGROUP lvGroup;
}
alias PLVINSERTGROUPSORTED = LVINSERTGROUPSORTED*;
extern (Windows) alias PFNLVGROUPCOMPARE = int function(INT, INT, VOID*);
struct LVSETINFOTIP {
UINT cbSize = LVSETINFOTIP.sizeof;
DWORD dwFlags;
LPWSTR pszText;
int iItem;
int iSubItem;
HBITMAP hbmp;
}
alias PLVSETINFOTIP = LVSETINFOTIP*;
struct BUTTON_IMAGELIST {
HIMAGELIST himl;
RECT margin;
UINT uAlign;
}
alias PBUTTON_IMAGELIST = BUTTON_IMAGELIST*;
}
static if (_WIN32_WINNT >= 0x600) {
struct LVITEMINDEX
{
int iItem;
int iGroup;
}
alias PLVITEMINDEX = LVITEMINDEX*;
struct LVFOOTERINFO
{
UINT mask;
LPWSTR pszText;
int cchTextMax;
UINT cItems;
}
alias LPLVFOOTERINFO = LVFOOTERINFO*;
struct LVFOOTERITEM
{
UINT mask;
int iItem;
LPWSTR pszText;
int cchTextMax;
UINT state;
UINT stateMask;
}
alias LPLVFOOTERITEM = LVFOOTERITEM *;
alias TVITEMPART = UINT;
enum {
TVGIPR_BUTTON = 0x0001,
}
}
extern (Windows) alias PFNLVCOMPARE = int function(LPARAM, LPARAM, LPARAM);
struct NMLISTVIEW {
NMHDR hdr;
int iItem;
int iSubItem;
UINT uNewState;
UINT uOldState;
UINT uChanged;
POINT ptAction;
LPARAM lParam;
}
alias LPNMLISTVIEW = NMLISTVIEW*;
deprecated {
alias NM_LISTVIEW = NMLISTVIEW;
alias LPNM_LISTVIEW = LPNMLISTVIEW;
}
struct NMLVDISPINFOA {
NMHDR hdr;
LV_ITEMA item;
}
alias LPNMLVDISPINFOA = NMLVDISPINFOA*;
alias LV_DISPINFOA = NMLVDISPINFOA;
struct NMLVDISPINFOW {
NMHDR hdr;
LV_ITEMW item;
}
alias LPNMLVDISPINFOW = NMLVDISPINFOW*;
alias LV_DISPINFOW = NMLVDISPINFOW;
align (1)
struct LV_KEYDOWN {
align (1):
NMHDR hdr;
WORD wVKey;
UINT flags;
}
struct NMLVCACHEHINT {
NMHDR hdr;
int iFrom;
int iTo;
}
alias LPNMLVCACHEHINT = NMLVCACHEHINT*, PNM_CACHEHINT = NMLVCACHEHINT*, LPNM_CACHEHINT = NMLVCACHEHINT*;
alias NM_CACHEHINT = NMLVCACHEHINT;
struct TVITEMA {
UINT mask;
HTREEITEM hItem;
UINT state;
UINT stateMask;
LPSTR pszText;
int cchTextMax;
int iImage;
int iSelectedImage;
int cChildren;
LPARAM lParam;
}
alias LPTVITEMA = TVITEMA*, LPTV_ITEMA = TVITEMA*;
alias TV_ITEMA = TVITEMA;
struct TVITEMW {
UINT mask;
HTREEITEM hItem;
UINT state;
UINT stateMask;
LPWSTR pszText;
int cchTextMax;
int iImage;
int iSelectedImage;
int cChildren;
LPARAM lParam;
}
alias LPTVITEMW = TVITEMW*, LPTV_ITEMW = TVITEMW*;
alias TV_ITEMW = TVITEMW;
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 LPTVITEMEXA = TVITEMEXA*;
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 LPTVITEMEXW = TVITEMEXW*;
}
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 LPTVINSERTSTRUCTA = TVINSERTSTRUCTA*, LPTV_INSERTSTRUCTA = TVINSERTSTRUCTA*;
alias TV_INSERTSTRUCTA = TVINSERTSTRUCTA;
alias LPTVINSERTSTRUCTW = TVINSERTSTRUCTW*, LPTV_INSERTSTRUCTW = TVINSERTSTRUCTW*;
alias TV_INSERTSTRUCTW = TVINSERTSTRUCTW;
struct TVHITTESTINFO {
POINT pt;
UINT flags;
HTREEITEM hItem;
}
alias LPTVHITTESTINFO = TVHITTESTINFO*, LPTV_HITTESTINFO = TVHITTESTINFO*;
alias TV_HITTESTINFO = TVHITTESTINFO;
static if (_WIN32_WINNT >= 0x600) {
struct TVGETITEMPARTRECTINFO {
HTREEITEM hti;
RECT* prc;
TVITEMPART partID;
}
}
extern (Windows) alias PFNTVCOMPARE = int function(LPARAM, LPARAM, LPARAM);
struct TVSORTCB {
HTREEITEM hParent;
PFNTVCOMPARE lpfnCompare;
LPARAM lParam;
}
alias LPTVSORTCB = TVSORTCB*, LPTV_SORTCB = TVSORTCB*;
alias TV_SORTCB = TVSORTCB;
struct NMTREEVIEWA {
NMHDR hdr;
UINT action;
TV_ITEMA itemOld;
TV_ITEMA itemNew;
POINT ptDrag;
}
alias LPNMTREEVIEWA = NMTREEVIEWA*, LPNM_TREEVIEWA = NMTREEVIEWA*;
alias NM_TREEVIEWA = NMTREEVIEWA;
struct NMTREEVIEWW {
NMHDR hdr;
UINT action;
TV_ITEMW itemOld;
TV_ITEMW itemNew;
POINT ptDrag;
}
alias LPNMTREEVIEWW = NMTREEVIEWW*, LPNM_TREEVIEWW = NMTREEVIEWW*;
alias NM_TREEVIEWW = NMTREEVIEWW;
struct NMTVDISPINFOA {
NMHDR hdr;
TVITEMA item;
}
alias LPNMTVDISPINFOA = NMTVDISPINFOA*;
alias TV_DISPINFOA = NMTVDISPINFOA;
struct NMTVDISPINFOW {
NMHDR hdr;
TVITEMW item;
}
alias LPNMTVDISPINFOW = NMTVDISPINFOW*;
alias TV_DISPINFOW = NMTVDISPINFOW;
static if (_WIN32_IE >= 0x400) {
struct NMTVGETINFOTIPA {
NMHDR hdr;
LPSTR pszText;
int cchTextMax;
HTREEITEM hItem;
LPARAM lParam;
}
alias LPNMTVGETINFOTIPA = NMTVGETINFOTIPA*;
struct NMTVGETINFOTIPW {
NMHDR hdr;
LPWSTR pszText;
int cchTextMax;
HTREEITEM hItem;
LPARAM lParam;
}
alias LPNMTVGETINFOTIPW = NMTVGETINFOTIPW*;
}
align (1)
struct TV_KEYDOWN {
align (1):
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 LPTCITEMA = TCITEMA*;
alias TC_ITEMA = TCITEMA;
alias LPTCITEMW = TCITEMW*;
alias TC_ITEMW = TCITEMW;
struct TCHITTESTINFO {
POINT pt;
UINT flags;
}
alias LPTCHITTESTINFO = TCHITTESTINFO*, LPTC_HITTESTINFO = TCHITTESTINFO*;
alias TC_HITTESTINFO = TCHITTESTINFO;
align (1)
struct TC_KEYDOWN {
align (1):
NMHDR hdr;
WORD wVKey;
UINT flags;
}
static if (_WIN32_IE >= 0x300) {
struct INITCOMMONCONTROLSEX {
DWORD dwSize = INITCOMMONCONTROLSEX.sizeof;
DWORD dwICC;
}
alias LPINITCOMMONCONTROLSEX = INITCOMMONCONTROLSEX*;
}
struct PBRANGE {
int iLow;
int iHigh;
}
alias PPBRANGE = PBRANGE*;
struct COLORSCHEME {
DWORD dwSize = COLORSCHEME.sizeof;
COLORREF clrBtnHighlight;
COLORREF clrBtnShadow;
}
alias LPCOLORSCHEME = COLORSCHEME*;
struct MCHITTESTINFO {
UINT cbSize = MCHITTESTINFO.sizeof;
POINT pt;
UINT uHit;
SYSTEMTIME st;
}
alias PMCHITTESTINFO = MCHITTESTINFO*;
alias MONTHDAYSTATE = DWORD;
alias LPMONTHDAYSTATE = MONTHDAYSTATE*;
struct NMDAYSTATE {
NMHDR nmhdr;
SYSTEMTIME stStart;
int cDayState;
LPMONTHDAYSTATE prgDayState;
}
alias LPNMDAYSTATE = NMDAYSTATE*;
struct REBARINFO {
UINT cbSize = REBARINFO.sizeof;
UINT fMask;
HIMAGELIST himl;
}
alias LPREBARINFO = REBARINFO*;
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 LPREBARBANDINFOA = REBARBANDINFOA*;
alias LPCREBARBANDINFOA = const(REBARBANDINFOA)*;
alias LPREBARBANDINFOW = REBARBANDINFOW*;
alias LPCREBARBANDINFOW = const(REBARBANDINFOW)*;
static if (_WIN32_IE >= 0x300) {
struct NMLVODSTATECHANGE {
NMHDR hdr;
int iFrom;
int iTo;
UINT uNewState;
UINT uOldState;
}
alias LPNMLVODSTATECHANGE = NMLVODSTATECHANGE*;
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 LPIMAGELISTDRAWPARAMS = IMAGELISTDRAWPARAMS*;
}
static if (_WIN32_IE >= 0x400) {
struct NMREBARCHILDSIZE {
NMHDR hdr;
UINT uBand;
UINT wID;
RECT rcChild;
RECT rcBand;
}
alias LPNMREBARCHILDSIZE = NMREBARCHILDSIZE*;
struct NMREBAR {
NMHDR hdr;
DWORD dwMask;
UINT uBand;
UINT fStyle;
UINT wID;
LPARAM lParam;
}
alias LPNMREBAR = NMREBAR*;
struct NMRBAUTOSIZE {
NMHDR hdr;
BOOL fChanged;
RECT rcTarget;
RECT rcActual;
}
alias LPNMRBAUTOSIZE = NMRBAUTOSIZE*;
static if (_WIN32_IE >= 0x500) {
struct NMREBARCHEVRON {
NMHDR hdr;
UINT uBand;
UINT wID;
LPARAM lParam;
RECT rc;
LPARAM lParamNM;
}
alias LPNMREBARCHEVRON = NMREBARCHEVRON*;
}
struct RBHITTESTINFO {
POINT pt;
UINT flags;
int iBand;
}
alias LPRBHITTESTINFO = RBHITTESTINFO*;
}
alias HDSA = HANDLE;
alias HDPA = HANDLE;
version (Unicode) {
alias HDITEM = HDITEMW;
alias LPHDITEM = LPHDITEMW;
alias TOOLINFO = TOOLINFOW;
alias PTOOLINFO = TOOLINFOW*, LPTOOLINFO = TOOLINFOW*;
alias TTHITTESTINFO = TTHITTESTINFOW;
alias LPHITTESTINFO = TTHITTESTINFOW*, LPTTHITTESTINFO = TTHITTESTINFOW*;
alias TOOLTIPTEXT = TOOLTIPTEXTW;
alias LPTOOLTIPTEXT = TOOLTIPTEXTW*;
alias NMTTDISPINFO = NMTTDISPINFOW;
alias LPNMTTDISPINFO = NMTTDISPINFOW*;
alias TV_ITEM = TV_ITEMW;
alias LPTV_ITEM = TV_ITEMW*;
alias TVITEM = TVITEMW;
alias LPTVITEM = TVITEMW*;
static if (_WIN32_IE >= 0x400) {
alias TVITEMEX = TVITEMEXW;
alias LPTVITEMEX = TVITEMEXW*;
}
alias TV_INSERTSTRUCT = TV_INSERTSTRUCTW;
alias LPTV_INSERTSTRUCT = TV_INSERTSTRUCTW*;
alias TVINSERTSTRUCT = TVINSERTSTRUCTW;
alias LPTVINSERTSTRUCT = TVINSERTSTRUCTW*;
alias NM_TREEVIEW = NM_TREEVIEWW;
alias LPNM_TREEVIEW = NM_TREEVIEWW*;
alias NMTREEVIEW = NMTREEVIEWW;
alias LPNMTREEVIEW = NMTREEVIEWW*;
alias NMHDDISPINFO = NMHDDISPINFOW;
alias LPNMHDDISPINFO = NMHDDISPINFOW*;
alias ACM_OPEN = ACM_OPENW;
alias COMBOBOXEXITEM = COMBOBOXEXITEMW;
alias PCOMBOBOXEXITEM = PCOMBOBOXEXITEMW;
//alias PCCOMBOBOXEXITEMW PCCOMBOBOXEXITEM; fixme
alias CBEM_INSERTITEM = CBEM_INSERTITEMW;
alias CBEM_SETITEM = CBEM_SETITEMW;
alias CBEM_GETITEM = CBEM_GETITEMW;
alias CBEN_ENDEDIT = CBEN_ENDEDITW;
alias NMCBEENDEDIT = NMCBEENDEDITW;
alias LPNMCBEENDEDIT = LPNMCBEENDEDITW;
alias PNMCBEENDEDIT = PNMCBEENDEDITW;
static if (_WIN32_IE >= 0x400) {
alias NMCOMBOBOXEX = NMCOMBOBOXEXW;
alias PNMCOMBOBOXEX = PNMCOMBOBOXEXW;
alias CBEN_GETDISPINFO = CBEN_GETDISPINFOW;
alias CBEN_DRAGBEGIN = CBEN_DRAGBEGINW;
alias NMCBEDRAGBEGIN = NMCBEDRAGBEGINW;
alias LPNMCBEDRAGBEGIN = LPNMCBEDRAGBEGINW;
alias PNMCBEDRAGBEGIN = PNMCBEDRAGBEGINW;
}
alias SB_GETTEXT = SB_GETTEXTW;
alias SB_SETTEXT = SB_SETTEXTW;
alias SB_GETTEXTLENGTH = SB_GETTEXTLENGTHW;
alias HDM_INSERTITEM = HDM_INSERTITEMW;
alias HDM_GETITEM = HDM_GETITEMW;
alias HDM_SETITEM = HDM_SETITEMW;
alias HDN_ITEMCHANGING = HDN_ITEMCHANGINGW;
alias HDN_ITEMCHANGED = HDN_ITEMCHANGEDW;
alias HDN_ITEMCLICK = HDN_ITEMCLICKW;
alias HDN_ITEMDBLCLICK = HDN_ITEMDBLCLICKW;
alias HDN_DIVIDERDBLCLICK = HDN_DIVIDERDBLCLICKW;
alias HDN_BEGINTRACK = HDN_BEGINTRACKW;
alias HDN_ENDTRACK = HDN_ENDTRACKW;
alias HDN_TRACK = HDN_TRACKW;
static if (_WIN32_IE >= 0x300) {
alias HDN_GETDISPINFO = HDN_GETDISPINFOW;
}
alias HD_NOTIFY = HD_NOTIFYW;
alias TBSAVEPARAMS = TBSAVEPARAMSW;
alias TB_GETBUTTONTEXT = TB_GETBUTTONTEXTW;
alias TB_SAVERESTORE = TB_SAVERESTOREW;
alias TB_ADDSTRING = TB_ADDSTRINGW;
static if (_WIN32_IE >= 0x400) {
alias TBN_GETBUTTONINFO = TBN_GETBUTTONINFOW; // fixme
alias TB_GETBUTTONINFO = TB_GETBUTTONINFOW;
alias TB_SETBUTTONINFO = TB_SETBUTTONINFOW;
alias TB_INSERTBUTTON = TB_INSERTBUTTONW;
alias TB_ADDBUTTONS = TB_ADDBUTTONSW;
alias TB_MAPACCELERATOR = TB_MAPACCELERATORW;
alias TB_GETSTRING = TB_GETSTRINGW;
alias TBBUTTONINFO = TBBUTTONINFOW;
alias LPTBBUTTONINFO = LPTBBUTTONINFOW;
alias TBN_GETDISPINFO = TBN_GETDISPINFOW;
alias NMTBDISPINFO = NMTBDISPINFOW;
alias LPNMTBDISPINFO = LPNMTBDISPINFOW;
alias NMTBGETINFOTIP = NMTBGETINFOTIPW;
alias LPNMTBGETINFOTIP = LPNMTBGETINFOTIPW;
}
alias TBNOTIFY = TBNOTIFYW;
alias LPTBNOTIFY = LPTBNOTIFYW;
alias NMTOOLBAR = NMTOOLBARW;
alias LPNMTOOLBAR = LPNMTOOLBARW;
alias TTM_ADDTOOL = TTM_ADDTOOLW;
alias TTM_DELTOOL = TTM_DELTOOLW;
alias TTM_NEWTOOLRECT = TTM_NEWTOOLRECTW;
alias TTM_GETTOOLINFO = TTM_GETTOOLINFOW;
alias TTM_SETTOOLINFO = TTM_SETTOOLINFOW;
alias TTM_HITTEST = TTM_HITTESTW;
alias TTM_GETTEXT = TTM_GETTEXTW;
alias TTM_UPDATETIPTEXT = TTM_UPDATETIPTEXTW;
alias TTM_ENUMTOOLS = TTM_ENUMTOOLSW;
alias TTM_GETCURRENTTOOL = TTM_GETCURRENTTOOLW;
alias TTN_NEEDTEXT = TTN_NEEDTEXTW;
alias TTN_GETDISPINFO = TTN_GETDISPINFOW;
//alias SB_GETTEXTW SB_GETTEXT;
//alias SB_SETTEXTW SB_SETTEXT;
//alias SB_GETTEXTLENGTHW SB_GETTEXTLENGTH;
alias LV_ITEM = LV_ITEMW;
alias LVITEM = LVITEMW;
alias LPLVITEM = LVITEM*;
alias LPSTR_TEXTCALLBACK = LPSTR_TEXTCALLBACKW;
static if (_WIN32_IE >= 0x400) {
alias LVBKIMAGE = LVBKIMAGEW;
alias LPLVBKIMAGE = LPLVBKIMAGEW;
alias LVM_SETBKIMAGE = LVM_SETBKIMAGEW;
alias LVM_GETBKIMAGE = LVM_GETBKIMAGEW;
}
alias LVM_GETITEM = LVM_GETITEMW;
alias LVM_SETITEM = LVM_SETITEMW;
alias LVM_INSERTITEM = LVM_INSERTITEMW;
alias LV_FINDINFO = LV_FINDINFOW;
alias LVFINDINFO = LVFINDINFOW;
alias LPFINDINFO = LPFINDINFOW;
alias NMLVFINDITEM = NMLVFINDITEMW;
alias PNMLVFINDITEM = PNMLVFINDITEMW;
alias LPNMLVFINDITEM = LPNMLVFINDITEMW;
alias LVM_FINDITEM = LVM_FINDITEMW;
alias LVM_GETSTRINGWIDTH = LVM_GETSTRINGWIDTHW;
alias LVM_EDITLABEL = LVM_EDITLABELW;
alias LV_COLUMN = LV_COLUMNW;
alias LVCOLUMN = LVCOLUMNW;
alias LPLVCOLUMN = LVCOLUMNW*;
alias LVM_GETCOLUMN = LVM_GETCOLUMNW;
alias LVM_SETCOLUMN = LVM_SETCOLUMNW;
alias LVM_INSERTCOLUMN = LVM_INSERTCOLUMNW;
alias LVM_GETITEMTEXT = LVM_GETITEMTEXTW;
alias LVM_SETITEMTEXT = LVM_SETITEMTEXTW;
alias LVM_GETISEARCHSTRING = LVM_GETISEARCHSTRINGW;
alias LVN_BEGINLABELEDIT = LVN_BEGINLABELEDITW;
alias LVN_ENDLABELEDIT = LVN_ENDLABELEDITW;
alias LVN_GETDISPINFO = LVN_GETDISPINFOW;
alias LVN_SETDISPINFO = LVN_SETDISPINFOW;
static if (_WIN32_IE >= 0x400) {
alias LVN_GETINFOTIP = LVN_GETINFOTIPW;
alias NMLVGETINFOTIP = NMLVGETINFOTIPW;
alias LPNMLVGETINFOTIP = LPNMLVGETINFOTIPW;
}
alias LV_DISPINFO = LV_DISPINFOW;
alias NMLVDISPINFO = NMLVDISPINFOW;
alias LPNMLVDISPINFO = LPNMLVDISPINFOW;
alias TVM_INSERTITEM = TVM_INSERTITEMW;
alias TVM_GETITEM = TVM_GETITEMW;
alias TVM_SETITEM = TVM_SETITEMW;
alias TVM_EDITLABEL = TVM_EDITLABELW;
alias TVM_GETISEARCHSTRING = TVM_GETISEARCHSTRINGW;
alias TV_DISPINFO = NMTVDISPINFOW;
alias NMTVDISPINFO = NMTVDISPINFOW;
alias LPNMTVDISPINFO = LPNMTVDISPINFOW;
static if (_WIN32_IE >= 0x400) {
alias NMTVGETINFOTIP = NMTVGETINFOTIPW;
alias LPNMTVGETINFOTIP = LPNMTVGETINFOTIPW;
alias TVN_GETINFOTIP = TVN_GETINFOTIPW;
}
alias TVN_SELCHANGING = TVN_SELCHANGINGW;
alias TVN_SELCHANGED = TVN_SELCHANGEDW;
alias TVN_GETDISPINFO = TVN_GETDISPINFOW;
alias TVN_SETDISPINFO = TVN_SETDISPINFOW;
alias TVN_ITEMEXPANDING = TVN_ITEMEXPANDINGW;
alias TVN_ITEMEXPANDED = TVN_ITEMEXPANDEDW;
alias TVN_BEGINDRAG = TVN_BEGINDRAGW;
alias TVN_BEGINRDRAG = TVN_BEGINRDRAGW;
alias TVN_DELETEITEM = TVN_DELETEITEMW;
alias TVN_BEGINLABELEDIT = TVN_BEGINLABELEDITW;
alias TVN_ENDLABELEDIT = TVN_ENDLABELEDITW;
alias TC_ITEMHEADER = TC_ITEMHEADERW;
alias TC_ITEM = TC_ITEMW;
alias TCITEM = TCITEMW;
alias LPTCITEM = LPTCITEMW;
alias TCM_GETITEM = TCM_GETITEMW;
alias TCM_SETITEM = TCM_SETITEMW;
alias TCM_INSERTITEM = TCM_INSERTITEMW;
alias CreateStatusWindow = CreateStatusWindowW;
alias DrawStatusText = DrawStatusTextW;
alias ImageList_LoadImage = ImageList_LoadImageW;
alias DTM_SETFORMAT = DTM_SETFORMATW;
alias DTN_USERSTRING = DTN_USERSTRINGW;
alias DTN_WMKEYDOWN = DTN_WMKEYDOWNW;
alias DTN_FORMAT = DTN_FORMATW;
alias DTN_FORMATQUERY = DTN_FORMATQUERYW;
alias REBARBANDINFO = REBARBANDINFOW;
alias LPREBARBANDINFO = REBARBANDINFO*;
alias LPCREBARBANDINFO = LPCREBARBANDINFOW;
alias REBARBANDINFO_V3_SIZE = REBARBANDINFOW_V3_SIZE;
alias RB_INSERTBAND = RB_INSERTBANDW;
alias RB_SETBANDINFO = RB_SETBANDINFOW;
} else {
alias HDITEM = HDITEMA;
alias LPHDITEM = LPHDITEMA;
alias TOOLINFO = TOOLINFOA;
alias PTOOLINFO = TOOLINFOA*, LPTOOLINFO = TOOLINFOA*;
alias TTHITTESTINFO = TTHITTESTINFOA;
alias LPHITTESTINFO = TTHITTESTINFOA*, LPTTHITTESTINFO = TTHITTESTINFOA*;
alias TOOLTIPTEXT = TOOLTIPTEXTA;
alias LPTOOLTIPTEXT = TOOLTIPTEXTA*;
alias NMTTDISPINFO = NMTTDISPINFOA;
alias LPNMTTDISPINFO = NMTTDISPINFOA*;
alias TV_ITEM = TV_ITEMA;
alias LPTV_ITEM = TV_ITEMA*;
alias TVITEM = TVITEMA;
alias LPTVITEM = TVITEMA*;
static if (_WIN32_IE >= 0x400) {
alias TVITEMEX = TVITEMEXA;
alias LPTVITEMEX = TVITEMEXA*;
}
alias TV_INSERTSTRUCT = TV_INSERTSTRUCTA;
alias LPTV_INSERTSTRUCT = TV_INSERTSTRUCTA*;
alias TVINSERTSTRUCT = TVINSERTSTRUCTA;
alias LPTVINSERTSTRUCT = TVINSERTSTRUCTA*;
alias NM_TREEVIEW = NM_TREEVIEWA;
alias LPNM_TREEVIEW = NM_TREEVIEWA*;
alias NMTREEVIEW = NMTREEVIEWA;
alias LPNMTREEVIEW = NMTREEVIEWA*;
alias NMHDDISPINFO = NMHDDISPINFOW;
alias LPNMHDDISPINFO = NMHDDISPINFOW*;
alias ACM_OPEN = ACM_OPENA;
alias COMBOBOXEXITEM = COMBOBOXEXITEMA;
alias PCOMBOBOXEXITEM = PCOMBOBOXEXITEMA;
//alias PCCOMBOBOXEXITEMA PCCOMBOBOXEXITEM; fixme
alias CBEM_INSERTITEM = CBEM_INSERTITEMA;
alias CBEM_SETITEM = CBEM_SETITEMA;
alias CBEM_GETITEM = CBEM_GETITEMA;
alias CBEN_ENDEDIT = CBEN_ENDEDITA;
alias NMCBEENDEDIT = NMCBEENDEDITA;
alias LPNMCBEENDEDIT = LPNMCBEENDEDITA;
alias PNMCBEENDEDIT = PNMCBEENDEDITA;
static if (_WIN32_IE >= 0x400) {
alias TB_GETBUTTONINFO = TB_GETBUTTONINFOA;
alias TB_SETBUTTONINFO = TB_SETBUTTONINFOA;
alias TB_INSERTBUTTON = TB_INSERTBUTTONA;
alias TB_ADDBUTTONS = TB_ADDBUTTONSA;
alias TB_MAPACCELERATOR = TB_MAPACCELERATORA;
alias TB_GETSTRING = TB_GETSTRINGA;
alias NMCOMBOBOXEX = NMCOMBOBOXEXA;
alias PNMCOMBOBOXEX = PNMCOMBOBOXEXA;
alias CBEN_DRAGBEGIN = CBEN_DRAGBEGINA;
alias CBEN_GETDISPINFO = CBEN_GETDISPINFOA;
alias NMCBEDRAGBEGIN = NMCBEDRAGBEGINA;
alias LPNMCBEDRAGBEGIN = LPNMCBEDRAGBEGINA;
alias PNMCBEDRAGBEGIN = PNMCBEDRAGBEGINA;
alias TBN_GETDISPINFO = TBN_GETDISPINFOA;
alias NMTBDISPINFO = NMTBDISPINFOA;
alias LPNMTBDISPINFO = LPNMTBDISPINFOA;
alias NMTBGETINFOTIP = NMTBGETINFOTIPA;
alias LPNMTBGETINFOTIP = LPNMTBGETINFOTIPA;
}
alias SB_GETTEXT = SB_GETTEXTA;
alias SB_SETTEXT = SB_SETTEXTA;
alias SB_GETTEXTLENGTH = SB_GETTEXTLENGTHA;
alias HDM_INSERTITEM = HDM_INSERTITEMA;
alias HDM_GETITEM = HDM_GETITEMA;
alias HDM_SETITEM = HDM_SETITEMA;
alias HDN_ITEMCHANGING = HDN_ITEMCHANGINGA;
alias HDN_ITEMCHANGED = HDN_ITEMCHANGEDA;
alias HDN_ITEMCLICK = HDN_ITEMCLICKA;
alias HDN_ITEMDBLCLICK = HDN_ITEMDBLCLICKA;
alias HDN_DIVIDERDBLCLICK = HDN_DIVIDERDBLCLICKA;
alias HDN_BEGINTRACK = HDN_BEGINTRACKA;
alias HDN_ENDTRACK = HDN_ENDTRACKA;
alias HDN_TRACK = HDN_TRACKA;
static if (_WIN32_IE >= 0x300) {
alias HDN_GETDISPINFO = HDN_GETDISPINFOA;
}
alias HD_NOTIFY = HD_NOTIFYA;
alias TBSAVEPARAMS = TBSAVEPARAMSA;
alias TB_GETBUTTONTEXT = TB_GETBUTTONTEXTA;
alias TB_SAVERESTORE = TB_SAVERESTOREA;
alias TB_ADDSTRING = TB_ADDSTRINGA;
alias TBN_GETBUTTONINFO = TBN_GETBUTTONINFOA;
static if (_WIN32_IE >= 0x400) {
alias TBBUTTONINFO = TBBUTTONINFOA;
alias LPTBBUTTONINFO = LPTBBUTTONINFOA;
}
alias TBNOTIFY = TBNOTIFYA;
alias LPTBNOTIFY = LPTBNOTIFYA;
alias NMTOOLBAR = NMTOOLBARA;
alias LPNMTOOLBAR = LPNMTOOLBARA;
alias TTM_ADDTOOL = TTM_ADDTOOLA;
alias TTM_DELTOOL = TTM_DELTOOLA;
alias TTM_NEWTOOLRECT = TTM_NEWTOOLRECTA;
alias TTM_GETTOOLINFO = TTM_GETTOOLINFOA;
alias TTM_SETTOOLINFO = TTM_SETTOOLINFOA;
alias TTM_HITTEST = TTM_HITTESTA;
alias TTM_GETTEXT = TTM_GETTEXTA;
alias TTM_UPDATETIPTEXT = TTM_UPDATETIPTEXTA;
alias TTM_ENUMTOOLS = TTM_ENUMTOOLSA;
alias TTM_GETCURRENTTOOL = TTM_GETCURRENTTOOLA;
alias TTN_NEEDTEXT = TTN_NEEDTEXTA;
alias TTN_GETDISPINFO = TTN_GETDISPINFOA;
alias LV_ITEM = LV_ITEMA;
alias LVITEM = LVITEMA;
alias LPLVITEM = LVITEM*;
alias LPSTR_TEXTCALLBACK = LPSTR_TEXTCALLBACKA;
static if (_WIN32_IE >= 0x400) {
alias LVBKIMAGE = LVBKIMAGEA;
alias LPLVBKIMAGE = LPLVBKIMAGEA;
alias LVM_SETBKIMAGE = LVM_SETBKIMAGEA;
alias LVM_GETBKIMAGE = LVM_GETBKIMAGEA;
}
alias LVM_GETITEM = LVM_GETITEMA;
alias LVM_SETITEM = LVM_SETITEMA;
alias LVM_INSERTITEM = LVM_INSERTITEMA;
alias LV_FINDINFO = LV_FINDINFOA;
alias LVFINDINFO = LVFINDINFOA;
alias LPFINDINFO = LPFINDINFOA;
alias NMLVFINDITEM = NMLVFINDITEMA;
alias PNMLVFINDITEM = PNMLVFINDITEMA;
alias LPNMLVFINDITEM = LPNMLVFINDITEMA;
alias LVM_FINDITEM = LVM_FINDITEMA;
alias LVM_GETSTRINGWIDTH = LVM_GETSTRINGWIDTHA;
alias LVM_EDITLABEL = LVM_EDITLABELA;
alias LV_COLUMN = LV_COLUMNA;
alias LVCOLUMN = LVCOLUMNA;
alias LPLVCOLUMN = LVCOLUMNA*;
alias LVM_GETCOLUMN = LVM_GETCOLUMNA;
alias LVM_SETCOLUMN = LVM_SETCOLUMNA;
alias LVM_INSERTCOLUMN = LVM_INSERTCOLUMNA;
alias LVM_GETITEMTEXT = LVM_GETITEMTEXTA;
alias LVM_SETITEMTEXT = LVM_SETITEMTEXTA;
alias LVM_GETISEARCHSTRING = LVM_GETISEARCHSTRINGA;
alias LVN_BEGINLABELEDIT = LVN_BEGINLABELEDITA;
alias LVN_ENDLABELEDIT = LVN_ENDLABELEDITA;
alias LVN_GETDISPINFO = LVN_GETDISPINFOA;
alias LVN_SETDISPINFO = LVN_SETDISPINFOA;
static if (_WIN32_IE >= 0x400) {
alias LVN_GETINFOTIP = LVN_GETINFOTIPA;
alias NMLVGETINFOTIP = NMLVGETINFOTIPA;
alias LPNMLVGETINFOTIP = LPNMLVGETINFOTIPA;
}
alias LV_DISPINFO = LV_DISPINFOA;
alias NMLVDISPINFO = NMLVDISPINFOA;
alias LPNMLVDISPINFO = LPNMLVDISPINFOA;
alias TVM_INSERTITEM = TVM_INSERTITEMA;
alias TVM_GETITEM = TVM_GETITEMA;
alias TVM_SETITEM = TVM_SETITEMA;
alias TVM_EDITLABEL = TVM_EDITLABELA;
alias TVM_GETISEARCHSTRING = TVM_GETISEARCHSTRINGA;
alias TV_DISPINFO = NMTVDISPINFOA;
alias NMTVDISPINFO = NMTVDISPINFOA;
alias LPNMTVDISPINFO = LPNMTVDISPINFOA;
static if (_WIN32_IE >= 0x400) {
alias NMTVGETINFOTIP = NMTVGETINFOTIPA;
alias LPNMTVGETINFOTIP = LPNMTVGETINFOTIPA;
alias TVN_GETINFOTIP = TVN_GETINFOTIPA;
}
alias TVN_SELCHANGING = TVN_SELCHANGINGA;
alias TVN_SELCHANGED = TVN_SELCHANGEDA;
alias TVN_GETDISPINFO = TVN_GETDISPINFOA;
alias TVN_SETDISPINFO = TVN_SETDISPINFOA;
alias TVN_ITEMEXPANDING = TVN_ITEMEXPANDINGA;
alias TVN_ITEMEXPANDED = TVN_ITEMEXPANDEDA;
alias TVN_BEGINDRAG = TVN_BEGINDRAGA;
alias TVN_BEGINRDRAG = TVN_BEGINRDRAGA;
alias TVN_DELETEITEM = TVN_DELETEITEMA;
alias TVN_BEGINLABELEDIT = TVN_BEGINLABELEDITA;
alias TVN_ENDLABELEDIT = TVN_ENDLABELEDITA;
alias TC_ITEMHEADER = TC_ITEMHEADERA;
alias TC_ITEM = TC_ITEMA;
alias TCITEM = TCITEMA;
alias LPTCITEM = LPTCITEMA;
alias TCM_GETITEM = TCM_GETITEMA;
alias TCM_SETITEM = TCM_SETITEMA;
alias TCM_INSERTITEM = TCM_INSERTITEMA;
alias CreateStatusWindow = CreateStatusWindowA;
alias DrawStatusText = DrawStatusTextA;
alias ImageList_LoadImage = ImageList_LoadImageA;
alias DTM_SETFORMAT = DTM_SETFORMATA;
alias DTN_USERSTRING = DTN_USERSTRINGA;
alias DTN_WMKEYDOWN = DTN_WMKEYDOWNA;
alias DTN_FORMAT = DTN_FORMATA;
alias DTN_FORMATQUERY = DTN_FORMATQUERYA;
alias REBARBANDINFO = REBARBANDINFOA;
alias LPREBARBANDINFO = REBARBANDINFOA*;
alias LPCREBARBANDINFO = LPCREBARBANDINFOA;
alias REBARBANDINFO_V3_SIZE = REBARBANDINFOA_V3_SIZE;
alias RB_INSERTBAND = RB_INSERTBANDA;
alias RB_SETBANDINFO = RB_SETBANDINFOA;
}
extern (Windows) {
alias PFNDPAENUMCALLBACK = INT function(PVOID, PVOID);
alias PFNDSAENUMCALLBACK = INT function(PVOID, PVOID);
alias PFNDPACOMPARE = INT function(PVOID, PVOID, LPARAM);
}
static if (_WIN32_WINNT >= 0x501) {
extern (Windows)
alias SUBCLASSPROC = LRESULT function(HWND, UINT, WPARAM, LPARAM, UINT_PTR, DWORD_PTR);
struct LITEM {
UINT mask;
int iLink;
UINT state;
UINT stateMask;
WCHAR[MAX_LINKID_TEXT] szID = 0;
WCHAR[L_MAX_URL_LENGTH] szUrl = 0;
}
alias PLITEM = LITEM*;
struct LHITTESTINFO {
POINT pt;
LITEM item;
}
alias PLHITTESTINFO = LHITTESTINFO*;
struct NMLINK {
NMHDR hdr;
LITEM item;
}
alias PNMLINK = NMLINK*;
}
uint INDEXTOOVERLAYMASK()(uint i) { return i << 8; }
uint INDEXTOSTATEIMAGEMASK()(uint i) { return i << 12; }
template HANDLE_WM_NOTIFY(R) {
private alias _prm_HANDLE_WM_NOTIFY = extern (Windows)
R function(HWND, int, NMHDR*); // to inject linkage type
R HANDLE_WM_NOTIFY(HWND hwnd, WPARAM wParam, LPARAM lParam, _prm_HANDLE_WM_NOTIFY fn) {
return fn(hwnd, wParam, cast(NMHDR*) lParam);
}
}
private alias _prm_FORWARD_WM_NOTIFY = extern (Windows)
LRESULT function(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); // to inject linkage type
LRESULT FORWARD_WM_NOTIFY(HWND hwnd, int idFrom, NMHDR* pnmhdr, _prm_FORWARD_WM_NOTIFY 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 cast(BOOL) SendMessage(hwnd, ACM_OPEN, 0, cast(LPARAM) szName);
}
BOOL Animate_OpenEx(HWND hwnd, HINSTANCE hInst, LPTSTR szName) {
return cast(BOOL) SendMessage(hwnd, ACM_OPEN, cast(WPARAM) hInst,
cast(LPARAM) szName);
}
BOOL Animate_Play(HWND hwnd, int from, int to, int rep) {
return cast(BOOL) SendMessage(hwnd, ACM_PLAY, rep,
MAKELONG(cast(ushort) from, cast(ushort) to));
}
BOOL Animate_Stop(HWND hwnd) {
return cast(BOOL) 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) nothrow @nogc {
HBITMAP CreateMappedBitmap(HINSTANCE, INT_PTR, UINT, LPCOLORMAP, int);
HWND CreateStatusWindowA(LONG, LPCSTR, HWND, UINT);
HWND CreateStatusWindowW(LONG, LPCWSTR, HWND, UINT);
HWND CreateToolbarEx(HWND, DWORD, UINT, int, HINSTANCE, UINT_PTR,
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 cast(DWORD) SendMessage(hwnd, DTM_GETRANGE, 0, cast(LPARAM) lpSysTimeArray);
}
DWORD DateTime_GetSystemtime(HWND hwnd, LPSYSTEMTIME lpSysTime) {
return cast(DWORD) 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) nothrow @nogc {
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 cast(int) SendMessage(w, HDM_GETITEMCOUNT, 0, 0);
}
int Header_InsertItem(HWND w, int i, const(HDITEM)* phdi) {
return cast(int) 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, const(HDITEM)* phdi) {
return cast(BOOL) SendMessage(w, HDM_SETITEM, i, cast(LPARAM) phdi);
}
BOOL Header_Layout(HWND w, LPHDLAYOUT playout) {
return cast(BOOL) SendMessage(w, HDM_LAYOUT, 0, cast(LPARAM) playout);
}
static if (_WIN32_IE >= 0x300) {
int Header_OrderToIndex(HWND w, int i) {
return cast(int) 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) nothrow @nogc {
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_GetScrollPropPtr = FlatSB_GetScrollProp;
}
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_SetScrollPropPtr = FlatSB_SetScrollProp;
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();
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 cast(int) 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, const(LV_ITEM)* i) {
return cast(BOOL) SendMessage(w, LVM_SETITEM, 0, cast(LPARAM) i);
}
int ListView_InsertItem(HWND w, const(LV_ITEM)* i) {
return cast(int) 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 cast(int) SendMessage(w, LVM_GETNEXTITEM, i, MAKELPARAM(cast(ushort)f, 0));
}
int ListView_FindItem(HWND w, int i, const(LV_FINDINFO)* p) {
return cast(int) SendMessage(w, LVM_FINDITEM, i, cast(LPARAM) p);
}
BOOL ListView_GetItemRect(HWND w, int i, LPRECT p, int c) {
if (p)
p.left = c;
return cast(BOOL) SendMessage(w, LVM_GETITEMRECT, i, cast(LPARAM) p);
}
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 cast(int) SendMessage(w, LVM_GETSTRINGWIDTH, 0, cast(LPARAM) s);
}
int ListView_HitTest(HWND w, LPLVHITTESTINFO p) {
return cast(int) 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, const(LV_COLUMN)* p) {
return cast(BOOL) SendMessage(w, LVM_SETCOLUMN, i, cast(LPARAM) p);
}
int ListView_InsertColumn(HWND w, int i, const(LV_COLUMN)* p) {
return cast(int) 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 cast(int) 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 cast(int) SendMessage(w, LVM_GETTOPINDEX, 0, 0);
}
int ListView_GetCountPerPage(HWND w) {
return cast(int) 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_WINNT >= 0x500 || _WIN32_IE >= 0x500) {
BOOL ListView_SortItemsEx(HWND w, PFNLVCOMPARE c, LPARAM p) {
return cast(BOOL) 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 cast(int) 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 cast(BOOL) SendMessage(w, LVM_GETINSERTMARK, 0, cast(LPARAM) p);
}
COLORREF ListView_GetInsertMarkColor(HWND w) {
return cast(COLORREF) SendMessage(w, LVM_GETINSERTMARKCOLOR, 0, 0);
}
int ListView_GetInsertMarkRect(HWND w, LPRECT p) {
return cast(int) SendMessage(w, LVM_GETINSERTMARKRECT, 0, cast(LPARAM) p);
}
COLORREF ListView_GetOutlineColor(HWND w) {
return cast(COLORREF) SendMessage(w, LVM_GETOUTLINECOLOR, 0, 0);
}
UINT ListView_GetSelectedColumn(HWND w) {
return cast(UINT) 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 cast(DWORD) SendMessage(w, LVM_GETVIEW, 0, 0);
}
BOOL ListView_HasGroup(HWND w, int i) {
return cast(BOOL) SendMessage(w, LVM_HASGROUP, i, 0);
}
int ListView_InsertGroup(HWND w, int i, PLVGROUP p) {
return cast(int) 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 cast(BOOL) SendMessage(w, LVM_INSERTMARKHITTEST, cast(WPARAM) p, cast(LPARAM) t);
}
BOOL ListView_IsGroupViewEnabled(HWND w) {
return cast(BOOL) SendMessage(w, LVM_ISGROUPVIEWENABLED, 0, 0);
}
UINT ListView_MapIDToIndex(HWND w, UINT i) {
return cast(UINT) 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 cast(int) SendMessage(w, LVM_REMOVEGROUP, i, 0);
}
int ListView_SetGroupInfo(HWND w, int i, PLVGROUP p) {
return cast(int) 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 cast(BOOL) SendMessage(w, LVM_SETINFOTIP, 0, cast(LPARAM) p);
}
BOOL ListView_SetInsertMark(HWND w, PLVINSERTMARK p) {
return cast(BOOL) SendMessage(w, LVM_SETINSERTMARK, 0, cast(LPARAM) p);
}
COLORREF ListView_SetInsertMarkColor(HWND w, COLORREF c) {
return cast(COLORREF) SendMessage(w, LVM_SETINSERTMARKCOLOR, 0, c);
}
COLORREF ListView_SetOutlineColor(HWND w, COLORREF c) {
return cast(COLORREF) 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 cast(BOOL) SendMessage(w, LVM_SETTILEINFO, 0, cast(LPARAM) p);
}
BOOL ListView_SetTileViewInfo(HWND w, PLVTILEVIEWINFO p) {
return cast(BOOL) SendMessage(w, LVM_SETTILEVIEWINFO, 0, cast(LPARAM) p);
}
int ListView_SetView(HWND w, DWORD i) {
return cast(int) SendMessage(w, LVM_SETVIEW, i, 0);
}
int ListView_SortGroups(HWND w, PFNLVGROUPCOMPARE c, LPVOID p) {
return cast(int) 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,
CB_SETCUEBANNER = CBM_FIRST + 3,
CB_GETCUEBANNER = CBM_FIRST + 4,
}
BOOL ComboBox_SetMinVisible(HWND w, INT i) {
return cast(BOOL) SendMessage(w, CB_SETMINVISIBLE, cast(WPARAM) i, 0);
}
int ComboBox_GetMinVisible(HWND w) {
return cast(int) 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 cast(INT) SendMessage(hwnd, MCM_GETMONTHDELTA, 0, 0);
}
INT MonthCal_GetMonthRange(HWND hwnd, DWORD flag, LPSYSTEMTIME systimearray) {
return cast(INT) 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 cast(INT) 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) nothrow @nogc BOOL ShowHideMenuCtl(HWND, UINT_PTR, 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, const(TC_ITEM)* p) {
return cast(int) 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 cast(int) SendMessage(w, TCM_GETCURSEL, 0, 0);
}
int TabCtrl_SetCurSel(HWND w, int i) {
return cast(int) SendMessage(w, TCM_SETCURSEL, i, 0);
}
int TabCtrl_HitTest(HWND w, LPTCHITTESTINFO p) {
return cast(int) 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 cast(int) 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 cast(int) 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 cast(int) 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 cast(int) 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, const(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 cast(INT) SendMessage(w, LVM_GETHOTITEM, 0, 0);
}
BOOL ListView_GetSubItemRect(HWND w, int i, int isi, int c, LPRECT p) {
if (p)
{
p.left = c;
p.top = isi;
}
return cast(BOOL) SendMessage(w, LVM_GETSUBITEMRECT, i, cast(LPARAM) p);
}
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 cast(INT) 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 cast(INT) 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) nothrow @nogc {
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 cast(int) 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 cast(INT) SendMessage(w, LVM_GETSELECTIONMARK, 0, 0);
}
INT ListView_SetSelectionMark(HWND w, INT i) {
return cast(INT) 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 cast(int) 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 cast(int) 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
static if (_WIN32_WINNT >= 0x501) {
struct EDITBALLOONTIP
{
DWORD cbStruct;
LPCWSTR pszTitle;
LPCWSTR pszText;
INT ttiIcon;
}
alias PEDITBALLOONTIP = EDITBALLOONTIP*;
enum EM_SETCUEBANNER = ECM_FIRST + 1;
enum EM_GETCUEBANNER = ECM_FIRST + 2;
enum EM_SHOWBALLOONTIP = ECM_FIRST + 3;
enum EM_HIDEBALLOONTIP = ECM_FIRST + 4;
}
static if (_WIN32_WINNT >= 0x600) {
enum EM_SETHILITE = ECM_FIRST + 5;
enum EM_GETHILITE = ECM_FIRST + 6;
}