flat assembler
Message board for the users of flat assembler.
Index
> Windows > Update required to COMCTL64.INC |
Author |
|
revolution 15 Oct 2020, 13:34
If ever there is a time that a 128-bit CPU is made then the negative values will still work.
If it was me I'd just use the original values: Code: TVI_ROOT = -0x10000 TVI_FIRST = -0x0FFFF TVI_LAST = -0x0FFFE TVI_SORT = -0x0FFFD |
|||
15 Oct 2020, 13:34 |
|
ProMiNick 15 Oct 2020, 22:05
I personaly prefer
Code: HRESULT equ -$80000000+$80000000 xor S_OK = HRESULT(0) S_FALSE = HRESULT(1) E_PENDING = HRESULT($8000000A) E_NOTIMPL = HRESULT($80004001) E_NOINTERFACE = HRESULT($80004002) E_POINTER = HRESULT($80004003) E_ABORT = HRESULT($80004004) E_FAIL = HRESULT($80004005) E_UNEXPECTED = HRESULT($8000FFFF) CLASS_E_NOAGGREGATION = HRESULT($80040110) CLASS_E_CLASSNOTAVAILABLE = HRESULT($80040111) CLASS_E_NOTLICENSED = HRESULT($80040112) SELFREG_E_TYPELIB = HRESULT($80040200) SELFREG_E_CLASS = HRESULT($80040201) E_ACCESSDENIED = HRESULT($80070005) E_HANDLE = HRESULT($80070006) E_OUTOFMEMORY = HRESULT($8007000E) E_INVALIDARG = HRESULT($80070057) looks more natural than via negate numbers (very likely like HLL) by the way never compare consts in 64 bit regs - it is buguos way. MS recomend to use low parts(32 or 16 bit parts) of registers to detect constant. I dont know any MS const that was a truly 64bit constant. -------------------- In case of TVI Code: HTREEITEM equ -$10000 or TVI_ROOT = HTREEITEM(0) TVI_FIRST = HTREEITEM(1) TVI_LAST = HTREEITEM(2) TVI_SORT = HTREEITEM(3) |
|||
15 Oct 2020, 22:05 |
|
Slor 15 Oct 2020, 23:09
ProMiNick wrote: by the way never compare consts in 64 bit regs - it is buguos way. Maybe I'm misunderstanding your point here... The issue that caused me to find this was that the API in question was not satisfied with just the lower 32 bits of the TVI constants being correct. It only worked after making sure the upper 32 were set as well. |
|||
15 Oct 2020, 23:09 |
|
ProMiNick 15 Oct 2020, 23:46
I analize one of MS executbles in x86 & in x64.
MS passes params as it wants (I mean x64 version) with negate high part or with zeroed. Some their code expects constants to be signextended, but some code immune to that. So if MS required somewhere that thou pass sign extended constant never expect that in another place MS will return to thou sign extended constant (it could return contant with undetermined high part). mov eax,HKEY_LOCAL_MACHINE & mov rax,-$80000000+$80000000 xor HKEY_LOCAL_MACHINE they both pass constant correctly, but one of them pass zeroed high part while the other negate one. |
|||
15 Oct 2020, 23:46 |
|
bitRAKE 16 Oct 2020, 15:23
ProMiNick wrote: I dont know any MS const that was a truly 64bit constant. _________________ ¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup |
|||
16 Oct 2020, 15:23 |
|
ProMiNick 18 Oct 2020, 21:00
I guess I would agree even MS in win10 SDK defines TVI_ enums this way
(by the way here it is) but structs are cutted off - this is common part for 32 & 64 bit Code: ; COMCTL32.DLL constants ; Common control window classes HOTKEY_CLASS equ 'msctls_hotkey32' PROGRESS_CLASS equ 'msctls_progress32' STATUS_CLASS equ 'msctls_statusbar32' TRACKBAR_CLASS equ 'msctls_trackbar32' UPDOWN_CLASS equ 'msctls_updown32' TOOLTIPS_CLASS equ 'tooltips_class32' ANIMATE_CLASS equ 'SysAnimate32' HEADER_CLASS equ 'SysHeader32' LISTVIEW_CLASS equ 'SysListView32' TREEVIEW_CLASS equ 'SysTreeView32' TABCONTROL_CLASS equ 'SysTabControl32' MONTHCAL_CLASS equ 'SysMonthCal32' DATETIMEPICK_CLASS equ 'SysDateTimePick32' TOOLBAR_CLASS equ 'ToolbarWindow32' REBAR_CLASS equ 'ReBarWindow32' WC_HEADER equ 'SysHeader32' WC_TOOLBAR equ 'ToolbarWindow32' WC_LISTVIEW equ 'SysListView32' WC_TREEVIEW equ 'SysTreeView32' WC_COMBOBOXEX equ 'ComboBoxEx32' WC_TABCONTROL equ 'SysTabControl32' WC_PAGESCROLLER equ 'SysPager' WC_LINK equ 'SysLink' WC_NATIVEFONTCTL equ 'NativeFontCtl' ; InitCommonControlsEx classes ICC_LISTVIEW_CLASSES = $0001 ICC_TREEVIEW_CLASSES = $0002 ICC_BAR_CLASSES = $0004 ICC_TAB_CLASSES = $0008 ICC_UPDOWN_CLASS = $0010 ICC_PROGRESS_CLASS = $0020 ICC_HOTKEY_CLASS = $0040 ICC_ANIMATE_CLASS = $0080 ICC_WIN95_CLASSES = $00FF ICC_DATE_CLASSES = $0100 ICC_USEREX_CLASSES = $0200 ICC_COOL_CLASSES = $0400 ICC_INTERNET_CLASSES = $0800 ICC_PAGESCROLLER_CLASS = $1000 ICC_NATIVEFNTCTL_CLASS = $2000 ICC_STANDARD_CLASSES = $4000 ICC_LINK_CLASS = $8000 ICC_ALL_CLASSES = $FFFF ; DRAWITEMSTRUCT control types (in addition to WINUSER definitions) ODT_HEADER = 100 ODT_TAB = 101 ODT_LISTVIEW = 102 ; Ranges for control message IDs LVM_FIRST = $1000 TV_FIRST = $1100 HDM_FIRST = $1200 TCM_FIRST = $1300 PGM_FIRST = $1400 ECM_FIRST = $1500 BCM_FIRST = $1600 CBM_FIRST = $1700 CCM_FIRST = $2000 MCM_FIRST = $1000 DTM_FIRST = $1000 ; Ranges for control notification IDs NM_FIRST = 0 NM_LAST = -99 LVN_FIRST = -100 LVN_LAST = -199 PSN_FIRST = -200 ; MUST GO AWAY PSN_LAST = -299 ; TO ANOTHER HEADER HDN_FIRST = -300 HDN_LAST = -399 TVN_FIRST = -400 TVN_LAST = -499 TTN_FIRST = -520 TTN_LAST = -549 TCN_FIRST = -550 TCN_LAST = -580 CDN_FIRST = -601 CDN_LAST = -699 TBN_FIRST = -700 TBN_Last = -720 UDN_FIRST = -721 UDN_LAST = -729 DTN_FIRST = -740 DTN_LAST = -745 MCN_FIRST = -746 MCN_LAST = -752 DTN_FIRST2 = -753 DTN_LAST2 = -799 CBEN_FIRST = -800 CBEN_LAST = -830 RBN_FIRST = -831 RBN_LAST = -859 IPN_FIRST = -860 IPN_LAST = -879 SBN_FIRST = -880 SBN_LAST = -899 PGN_FIRST = -900 PGN_LAST = -950 WMN_FIRST = -1000 WMN_LAST = -1200 BCN_FIRST = -1250 BCN_LAST = -1350 TRBN_FIRST = -1501 TRBN_LAST = -1519 ; WH_MSGFILTER Filter Proc Codes (in addition to WINUSER definitions) MSGF_COMMCTRL_BEGINDRAG = $4200 MSGF_COMMCTRL_SIZEHEADER = $4201 MSGF_COMMCTRL_DRAGSELECT = $4202 MSGF_COMMCTRL_TOOLBARCUST= $4203 ; Shared messages CCM_SETBKCOLOR = CCM_FIRST + 1 CCM_SETCOLORSCHEME = CCM_FIRST + 2 CCM_GETCOLORSCHEME = CCM_FIRST + 3 CCM_GETDROPTARGET = CCM_FIRST + 4 CCM_SETUNICODEFORMAT = CCM_FIRST + 5 CCM_GETUNICODEFORMAT = CCM_FIRST + 6 CCM_SETVERSION = CCM_FIRST + 7 CCM_GETVERSION = CCM_FIRST + 8 CCM_SETNOTIFYWINDOW = CCM_FIRST + 9 CCM_SETWINDOWTHEME = CCM_FIRST + 11 CCM_DPISCALE = CCM_FIRST + 12 ; Generic WM_NOTIFY notification codes 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 NM_LDOWN = NM_FIRST - 20 NM_RDOWN = NM_FIRST - 21 NM_THEMECHANGED = NM_FIRST - 22 ;====== COMMON CONTROL STYLES ================================================ ; Common control styles CCS_TOP = $00000001 CCS_NOMOVEY = $00000002 CCS_BOTTOM = $00000003 CCS_NORESIZE = $00000004 CCS_NOPARENTALIGN = $00000008 CCS_ADJUSTABLE = $00000020 CCS_NODIVIDER = $00000040 CCS_VERT = $00000080 CCS_LEFT = CCS_VERT or CCS_TOP CCS_RIGHT = CCS_VERT or CCS_BOTTOM CCS_NOMOVEX = CCS_VERT or CCS_NOMOVEY ;==================== CUSTOM DRAW ========================================== ; Custom Draw return flags CDRF_DODEFAULT = $00000000 CDRF_NEWFONT = $00000002 CDRF_SKIPDEFAULT = $00000004 CDRF_NOTIFYPOSTPAINT = $00000010 CDRF_NOTIFYITEMDRAW = $00000020 CDRF_NOTIFYSUBITEMDRAW = $00000020 CDRF_NOTIFYPOSTERASE = $00000040 ; drawstage flags CDDS_PREPAINT = $00000001 CDDS_POSTPAINT = $00000002 CDDS_PREERASE = $00000003 CDDS_POSTERASE = $00000004 CDDS_ITEM = $00010000 CDDS_ITEMPREPAINT = CDDS_ITEM or CDDS_PREPAINT CDDS_ITEMPOSTPAINT = CDDS_ITEM or CDDS_POSTPAINT CDDS_ITEMPREERASE = CDDS_ITEM or CDDS_PREERASE CDDS_ITEMPOSTERASE = CDDS_ITEM or CDDS_POSTERASE CDDS_SUBITEM = $00020000 ; itemState flags CDIS_SELECTED = $0001 CDIS_GRAYED = $0002 CDIS_DISABLED = $0004 CDIS_CHECKED = $0008 CDIS_FOCUS = $0010 CDIS_DEFAULT = $0020 CDIS_HOT = $0040 CDIS_MARKED = $0080 CDIS_INDETERMINATE = $0100 CDIS_SHOWKEYBOARDCUES = $0200 ;====== IMAGE APIS =========================================================== ; Image list color values CLR_NONE = $FFFFFFFF CLR_DEFAULT = $FF000000 CLR_HILIGHT = CLR_DEFAULT ; ImageList_LoadImage types SHOULD NOT BE HERE IMAGE_BITMAP = 0 IMAGE_ICON = 1 IMAGE_CURSOR = 2 IMAGE_ENHMETAFILE = 3 ; ImageList_LoadImage flags SHOULD NOT BE HERE LR_DEFAULTCOLOR = 0000h LR_MONOCHROME = 0001h LR_COLOR = 0002h LR_COPYRETURNORG = 0004h LR_COPYDELETEORG = 0008h LR_LOADFROMFILE = 0010h LR_LOADTRANSPARENT = 0020h LR_DEFAULTSIZE = 0040h LR_VGACOLOR = 0080h LR_LOADMAP3DCOLORS = 1000h LR_CREATEDIBSECTION = 2000h LR_COPYFROMRESOURCE = 4000h LR_SHARED = 8000h ; Image list types ILC_MASK = $00000001 ILC_COLOR = $00000000 ILC_COLORDDB = $000000FE ILC_COLOR4 = $00000004 ILC_COLOR8 = $00000008 ILC_COLOR16 = $00000010 ILC_COLOR24 = $00000018 ILC_COLOR32 = $00000020 ILC_PALETTE = $00000800 ILC_MIRROR = $00002000 ILC_PERITEMMIRROR = $00008000 ; Image list draw flags ILD_NORMAL = $00000000 ILD_TRANSPARENT = $00000001 ILD_BLEND25 = $00000002 ILD_FOCUS = $00000002 ILD_BLEND50 = $00000004 ILD_BLEND = $00000004 ILD_SELECTED = $00000004 ILD_MASK = $00000010 ILD_IMAGE = $00000020 ILD_ROP = $00000040 ILD_OVERLAYMASK = $00000F00 ILD_PRESERVEALPHA = $00001000 ILD_SCALE = $00002000 ILD_DPISCALE = $00004000 ILD_ASYNC = $00008000 ; Image list state flags ILS_NORMAL = 0 ILS_GLOW = 1 ILS_SHADOW = 2 ILS_SATURATE = 4 ILS_ALPHA = 8 ; Image list copy flags ILCF_MOVE = 0 ILCF_SWAP = 1 ; Image list RW stream flags ILP_NORMAL = 0 ILP_DOWNLEVEL = 1 ;======PROPERTY SHEET DEFINITIONS MUST GO AWAY TO ANOTHER HEADER =========== ; Property sheet page flags PSP_DEFAULT = $0000 PSP_DLGINDIRECT = $0001 PSP_USEHICON = $0002 PSP_USEICONID = $0004 PSP_USETITLE = $0008 PSP_HASHELP = $0020 PSP_USEREFPARENT = $0040 PSP_USECALLBACK = $0080 PSP_PREMATURE = $0400 PSP_HIDEHEADER = $0800 PSP_USEHEADERTITLE = $1000 PSP_USEHEADERSUBTITLE = $2000 PSP_USEFUSIONCONTEXT = $4000 ; Property sheet page actions PSPCB_RELEASE = 1 PSPCB_CREATE = 2 ; Property sheet header flags PSH_DEFAULT = 0000h PSH_PROPTITLE = 0001h PSH_USEHICON = 0002h PSH_USEICONID = 0004h PSH_PROPSHEETPAGE = 0008h PSH_MULTILINETABS = 0010h PSH_WIZARD = 0020h PSH_USEPSTARTPAGE = 0040h PSH_NOAPPLYNOW = 0080h PSH_USECALLBACK = 0100h PSH_HASHELP = 0200h PSH_MODELESS = 0400h ; Property sheet actions PSCB_INITIALIZED = 1 ; Property sheet return values PSNRET_NOERROR = 0 PSNRET_INVALID = 1 PSNRET_INVALID_NOCHANGEPAGE = 2 ; Property sheet buttons PSBTN_BACK = 0 PSBTN_NEXT = 1 PSBTN_FINISH = 2 PSBTN_OK = 3 PSBTN_APPLYNOW = 4 PSBTN_CANCEL = 5 PSBTN_HELP = 6 PSWIZB_BACK = 1 PSWIZB_NEXT = 2 PSWIZB_FINISH = 4 PSWIZB_DISABLEDFINISH = 8 ID_PSRESTARTWINDOWS = 2 ID_PSREBOOTSYSTEM = ID_PSRESTARTWINDOWS or 1 ; Property sheet sizes PROP_SM_CXDLG = 212 PROP_SM_CYDLG = 188 PROP_MED_CXDLG = 227 PROP_MED_CYDLG = 215 PROP_LG_CXDLG = 252 PROP_LG_CYDLG = 218 WIZ_CXDLG = 276 WIZ_CYDLG = 140 WIZ_CXBMP = 80 WIZ_BODYX = 92 WIZ_BODYCX = 184 ; Property sheet messages PSM_SETCURSEL = WM_USER + 101 PSM_REMOVEPAGE = WM_USER + 102 PSM_ADDPAGE = WM_USER + 103 PSM_CHANGED = WM_USER + 104 PSM_RESTARTWINDOWS = WM_USER + 105 PSM_REBOOTSYSTEM = WM_USER + 106 PSM_CANCELTOCLOSE = WM_USER + 107 PSM_QUERYSIBLINGS = WM_USER + 108 PSM_UNCHANGED = WM_USER + 109 PSM_APPLY = WM_USER + 110 PSM_SETTITLEA = WM_USER + 111 PSM_SETTITLEW = WM_USER + 120 PSM_SETWIZBUTTONS = WM_USER + 112 PSM_PRESSBUTTON = WM_USER + 113 PSM_SETCURSELID = WM_USER + 114 PSM_SETFINISHTEXTA = WM_USER + 115 PSM_SETFINISHTEXTW = WM_USER + 121 PSM_GETTABCONTROL = WM_USER + 116 PSM_ISDIALOGMESSAGE = WM_USER + 117 ; Property sheet notifications PSN_SETACTIVE = PSN_FIRST - 0 PSN_KILLACTIVE = PSN_FIRST - 1 PSN_APPLY = PSN_FIRST - 2 PSN_RESET = PSN_FIRST - 3 PSN_HELP = PSN_FIRST - 5 PSN_WIZBACK = PSN_FIRST - 6 PSN_WIZNEXT = PSN_FIRST - 7 PSN_WIZFINISH = PSN_FIRST - 8 PSN_QUERYCANCEL = PSN_FIRST - 9 shortnames \ PSM_SETTITLE,\ PSM_SETFINISHTEXT ;====== HEADER CONTROL ======================================================= ; Header control styles HDS_HORZ = $0000 HDS_BUTTONS = $0002 HDS_HOTTRACK = $0004 HDS_HIDDEN = $0008 HDS_DRAGDROP = $0040 HDS_FULLDRAG = $0080 HDS_FILTERBAR = $0100 HDS_FLAT = $0200 HDS_CHECKBOXES = $0400 HDS_NOSIZING = $0800 HDS_OVERFLOW = $1000 ; Header item structure members flags HDI_WIDTH = $0001 HDI_HEIGHT = HDI_WIDTH HDI_TEXT = $0002 HDI_FORMAT = $0004 HDI_LPARAM = $0008 HDI_BITMAP = $0010 HDI_IMAGE = $0020 HDI_DI_SETITEM = $0040 HDI_ORDER = $0080 HDI_FILTER = $0100 HDI_STATE = $0200 ; Header item format flags HDF_LEFT = $00000000 HDF_RIGHT = $00000001 HDF_CENTER = $00000002 HDF_JUSTIFYMASK = $00000003 HDF_RTLREADING = $00000004 HDF_CHECKBOX = $00000040 HDF_CHECKED = $00000080 HDF_FIXEDWIDTH = $00000100 HDF_SORTDOWN = $00000200 HDF_SORTUP = $00000400 HDF_IMAGE = $00000800 HDF_BITMAP_ON_RIGHT = $00001000 HDF_BITMAP = $00002000 HDF_STRING = $00004000 HDF_OWNERDRAW = $00008000 HDF_SPLITBUTTON = $01000000 ; Header item filter types HDFT_ISSTRING = $0000 HDFT_ISNUMBER = $0001 HDFT_ISDATE = $0002 HDFT_HASNOVALUE = $8000 ; Header item state HDIS_FOCUSED = 1 ; Hit test result flags HHT_NOWHERE = $0001 HHT_ONHEADER = $0002 HHT_ONDIVIDER = $0004 HHT_ONDIVOPEN = $0008 HHT_ONFILTER = $0010 HHT_ONFILTERBUTTON = $0020 HHT_ABOVE = $0100 HHT_BELOW = $0200 HHT_TORIGHT = $0400 HHT_TOLEFT = $0800 HHT_ONITEMSTATEICON = $1000 HHT_ONDROPDOWN = $2000 HHT_ONOVERFLOW = $4000 ; Header control messages HDM_GETITEMCOUNT = HDM_FIRST + 0 HDM_INSERTITEMA = HDM_FIRST + 1 HDM_DELETEITEM = HDM_FIRST + 2 HDM_GETITEMA = HDM_FIRST + 3 HDM_SETITEMA = HDM_FIRST + 4 HDM_LAYOUT = HDM_FIRST + 5 HDM_HITTEST = HDM_FIRST + 6 HDM_GETITEMRECT = HDM_FIRST + 7 HDM_SETIMAGELIST = HDM_FIRST + 8 HDM_GETIMAGELIST = HDM_FIRST + 9 HDM_INSERTITEMW = HDM_FIRST + 10 HDM_GETITEMW = HDM_FIRST + 11 HDM_SETITEMW = HDM_FIRST + 12 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 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 HDM_GETITEMDROPDOWNRECT = HDM_FIRST + 25 HDM_GETOVERFLOWRECT = HDM_FIRST + 26 HDM_GETFOCUSEDITEM = HDM_FIRST + 27 HDM_SETFOCUSEDITEM = HDM_FIRST + 28 ; Header control WM_NOTIFY notification codes HDN_ITEMCHANGINGA = HDN_FIRST - 0 HDN_ITEMCHANGEDA = HDN_FIRST - 1 HDN_ITEMCLICKA = HDN_FIRST - 2 HDN_ITEMDBLCLICKA = HDN_FIRST - 3 HDN_DIVIDERDBLCLICKA = HDN_FIRST - 5 HDN_BEGINTRACKA = HDN_FIRST - 6 HDN_ENDTRACKA = HDN_FIRST - 7 HDN_TRACKA = HDN_FIRST - 8 HDN_GETDISPINFOA = HDN_FIRST - 9 HDN_BEGINDRAG = HDN_FIRST - 10 HDN_ENDDRAG = HDN_FIRST - 11 HDN_FILTERCHANGE = HDN_FIRST - 12 HDN_FILTERBTNCLICK = HDN_FIRST - 13 HDN_BEGINFILTEREDIT = HDN_FIRST - 14 HDN_ENDFILTEREDIT = HDN_FIRST - 15 HDN_ITEMSTATEICONCLICK = HDN_FIRST - 16 HDN_ITEMKEYDOWN = HDN_FIRST - 17 HDN_DROPDOWN = HDN_FIRST - 18 HDN_OVERFLOWCLICK = HDN_FIRST - 19 HDN_ITEMCHANGINGW = HDN_FIRST - 20 HDN_ITEMCHANGEDW = HDN_FIRST - 21 HDN_ITEMCLICKW = HDN_FIRST - 22 HDN_ITEMDBLCLICKW = HDN_FIRST - 23 HDN_DIVIDERDBLCLICKW = HDN_FIRST - 25 HDN_BEGINTRACKW = HDN_FIRST - 26 HDN_ENDTRACKW = HDN_FIRST - 27 HDN_TRACKW = HDN_FIRST - 28 HDN_GETDISPINFOW = HDN_FIRST - 29 shortnames \ HDM_INSERTITEM,\ HDM_GETITEM,\ HDM_SETITEM,\ HDN_ITEMCHANGING,\ HDN_ITEMCHANGED,\ HDN_ITEMCLICK,\ HDN_ITEMDBLCLICK,\ HDN_DIVIDERDBLCLICK,\ HDN_BEGINTRACK,\ HDN_ENDTRACK,\ HDN_TRACK,\ HDN_GETDISPINFO ;====== TOOLBAR CONTROL ====================================================== ; Toolbar bitmap flags CMB_MASKED = 2 ; Toolbar button states TBSTATE_CHECKED = $01 TBSTATE_PRESSED = $02 TBSTATE_ENABLED = $04 TBSTATE_HIDDEN = $08 TBSTATE_INDETERMINATE = $10 TBSTATE_WRAP = $20 TBSTATE_ELLIPSES = $40 TBSTATE_MARKED = $80 ; Toolbar button styles BTNS_BUTTON = $0000 BTNS_SEP = $0001 BTNS_CHECK = $0002 BTNS_GROUP = $0004 BTNS_CHECKGROUP = BTNS_GROUP or BTNS_CHECK BTNS_DROPDOWN = $0008 BTNS_AUTOSIZE = $0010 BTNS_NOPREFIX = $0020 BTNS_SHOWTEXT = $0040 BTNS_WHOLEDROPDOWN = $0080 TBSTYLE_TOOLTIPS = $0100 TBSTYLE_WRAPABLE = $0200 TBSTYLE_ALTDRAG = $0400 TBSTYLE_FLAT = $0800 TBSTYLE_LIST = $1000 TBSTYLE_CUSTOMERASE = $2000 TBSTYLE_REGISTERDROP = $4000 TBSTYLE_TRANSPARENT = $8000 ; Obsolete toolbar button styles TBSTYLE_BUTTON = BTNS_BUTTON TBSTYLE_SEP = BTNS_SEP TBSTYLE_CHECK = BTNS_CHECK TBSTYLE_GROUP = BTNS_GROUP TBSTYLE_CHECKGROUP = BTNS_CHECKGROUP TBSTYLE_DROPDOWN = BTNS_DROPDOWN TBSTYLE_AUTOSIZE = BTNS_AUTOSIZE TBSTYLE_NOPREFIX = BTNS_NOPREFIX ; Toolbar button extended styles TBSTYLE_EX_DRAWDDARROWS = $0001 TBSTYLE_EX_MULTICOLUMN = $0002 TBSTYLE_EX_VERTICAL = $0004 TBSTYLE_EX_MIXEDBUTTONS = $0008 TBSTYLE_EX_HIDECLIPPEDBUTTONS = $0010 TBSTYLE_EX_DOUBLEBUFFER = $0080 ; Toolbar custom draw return flags TBCDRF_NOEDGES = $00010000 TBCDRF_HILITEHOTTRACK = $00020000 TBCDRF_NOOFFSET = $00040000 TBCDRF_NOMARK = $00080000 TBCDRF_NOETCHEDEFFECT = $00100000 TBCDRF_BLENDICON = $00200000 TBCDRF_NOBACKGROUND = $00400000 TBCDRF_USECDCOLORS = $00800000 ; System-defined button bitmaps HINST_COMMCTRL = -1 IDB_STD_SMALL_COLOR = 0 IDB_STD_LARGE_COLOR = 1 IDB_VIEW_SMALL_COLOR = 4 IDB_VIEW_LARGE_COLOR = 5 IDB_HIST_SMALL_COLOR = 8 IDB_HIST_LARGE_COLOR = 9 IDB_HIST_NORMAL = 12 IDB_HIST_HOT = 13 IDB_HIST_DISABLED = 14 IDB_HIST_PRESSED = 15 ; Icon indexes for standard bitmap STD_CUT = 0 STD_COPY = 1 STD_PASTE = 2 STD_UNDO = 3 STD_REDOW = 4 STD_DELETE = 5 STD_FILENEW = 6 STD_FILEOPEN = 7 STD_FILESAVE = 8 STD_PRINTPRE = 9 STD_PROPERTIES = 10 STD_HELP = 11 STD_FIND = 12 STD_REPLACE = 13 STD_PRINT = 14 ; Icon indexes for standard view bitmap VIEW_LARGEICONS = 0 VIEW_SMALLICONS = 1 VIEW_LIST = 2 VIEW_DETAILS = 3 VIEW_SORTNAME = 4 VIEW_SORTSIZE = 5 VIEW_SORTDATE = 6 VIEW_SORTTYPE = 7 VIEW_PARENTFOLDER = 8 VIEW_NETCONNECT = 9 VIEW_NETDISCONNECT = 10 VIEW_NEWFOLDER = 11 VIEW_VIEWMENU = 12 ; Icon indexes for history bitmap HIST_BACK = 0 HIST_FORWARD = 1 HIST_FAVORITES = 2 HIST_ADDTOFAVORITES = 3 HIST_VIEWTREE = 4 ; Toolbar insertion mark flags TBIMHT_BEFORE = 0 TBIMHT_AFTER = 1 TBIMHT_BACKGROUND = 2 ; Toolbar bitmap flags TBBF_LARGE = 1 ; Toolbar buttoninfo structure members flags TBIF_IMAGE = $00000001 TBIF_TEXT = $00000002 TBIF_STATE = $00000004 TBIF_STYLE = $00000008 TBIF_LPARAM = $00000010 TBIF_COMMAND = $00000020 TBIF_SIZE = $00000040 TBIF_BYINDEX = $80000000 ; Toolbar metrics structure members flags TBMF_PAD = 1 TBMF_BARPAD = 2 TBMF_BUTTONSPACING = 4 ; Hot item change flags HICF_OTHER = $00000000 HICF_MOUSE = $00000001 HICF_ARROWKEYS = $00000002 HICF_ACCELERATOR = $00000004 HICF_DUPACCEL = $00000008 HICF_ENTERING = $00000010 HICF_LEAVING = $00000020 HICF_RESELECT = $00000040 HICF_LMOUSE = $00000080 HICF_TOGGLEDROPDOWN = $00000100 ; Toolbar notify return flags TBNRF_HIDEHELP = 1 TBNRF_ENDCUSTOMIZE = 2 ; Toolbar item display information structure members flags TBNF_IMAGE = $00000001 TBNF_TEXT = $00000002 TBNF_DI_SETITEM = $10000000 ; Return codes for TBN_DROPDOWN TBDDRET_DEFAULT = 0 TBDDRET_NODEFAULT = 1 TBDDRET_TREATPRESSED = 2 ; Toolbar messages TB_ENABLEBUTTON = WM_USER + 1 TB_CHECKBUTTON = WM_USER + 2 TB_PRESSBUTTON = WM_USER + 3 TB_HIDEBUTTON = WM_USER + 4 TB_INDETERMINATE = WM_USER + 5 TB_MARKBUTTON = WM_USER + 6 TB_ISBUTTONENABLED = WM_USER + 9 TB_ISBUTTONCHECKED = WM_USER + 10 TB_ISBUTTONPRESSED = WM_USER + 11 TB_ISBUTTONHIDDEN = WM_USER + 12 TB_ISBUTTONINDETERMINATE = WM_USER + 13 TB_ISBUTTONHIGHLIGHTED = WM_USER + 14 TB_SETSTATE = WM_USER + 17 TB_GETSTATE = WM_USER + 18 TB_ADDBITMAP = WM_USER + 19 TB_ADDBUTTONSA = WM_USER + 20 TB_INSERTBUTTONA = WM_USER + 21 TB_DELETEBUTTON = WM_USER + 22 TB_GETBUTTON = WM_USER + 23 TB_BUTTONCOUNT = WM_USER + 24 TB_COMMANDTOINDEX = WM_USER + 25 TB_SAVERESTOREA = WM_USER + 26 TB_CUSTOMIZE = WM_USER + 27 TB_ADDSTRINGA = WM_USER + 28 TB_GETITEMRECT = WM_USER + 29 TB_BUTTONSTRUCTSIZE = WM_USER + 30 TB_SETBUTTONSIZE = WM_USER + 31 TB_SETBITMAPSIZE = WM_USER + 32 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 = WM_USER + 40 TB_GETBITMAPFLAGS = WM_USER + 41 TB_SETCMDID = WM_USER + 42 TB_CHANGEBITMAP = WM_USER + 43 TB_GETBITMAP = WM_USER + 44 TB_GETBUTTONTEXTA = WM_USER + 45 TB_REPLACEBITMAP = WM_USER + 46 TB_SETINDENT = WM_USER + 47 TB_SETIMAGELIST = WM_USER + 48 TB_GETIMAGELIST = WM_USER + 49 TB_LOADIMAGES = WM_USER + 50 TB_GETRECT = WM_USER + 51 TB_SETHOTIMAGELIST = WM_USER + 52 TB_GETHOTIMAGELIST = WM_USER + 53 TB_SETDISABLEDIMAGELIST = WM_USER + 54 TB_GETDISABLEDIMAGELIST = WM_USER + 55 TB_SETSTYLE = WM_USER + 56 TB_GETSTYLE = WM_USER + 57 TB_GETBUTTONSIZE = WM_USER + 58 TB_SETBUTTONWIDTH = WM_USER + 59 TB_SETMAXTEXTROWS = WM_USER + 60 TB_GETTEXTROWS = WM_USER + 61 TB_GETOBJECT = WM_USER + 62 TB_GETBUTTONINFOW = WM_USER + 63 TB_SETBUTTONINFOW = WM_USER + 64 TB_GETBUTTONINFOA = WM_USER + 65 TB_SETBUTTONINFOA = WM_USER + 66 TB_INSERTBUTTONW = WM_USER + 67 TB_ADDBUTTONSW = WM_USER + 68 TB_HITTEST = WM_USER + 69 TB_SETDRAWTEXTFLAGS = WM_USER + 70 TB_GETHOTITEM = WM_USER + 71 TB_SETHOTITEM = WM_USER + 72 TB_SETANCHORHIGHLIGHT = WM_USER + 73 TB_GETANCHORHIGHLIGHT = WM_USER + 74 TB_GETBUTTONTEXTW = WM_USER + 75 TB_SAVERESTOREW = WM_USER + 76 TB_ADDSTRINGW = WM_USER + 77 TB_MAPACCELERATORA = WM_USER + 78 TB_GETINSERTMARK = WM_USER + 79 TB_SETINSERTMARK = WM_USER + 80 TB_INSERTMARKHITTEST = WM_USER + 81 TB_MOVEBUTTON = WM_USER + 82 TB_GETMAXSIZE = WM_USER + 83 TB_SETEXTENDEDSTYLE = WM_USER + 84 TB_GETEXTENDEDSTYLE = WM_USER + 85 TB_GETPADDING = WM_USER + 86 TB_SETPADDING = WM_USER + 87 TB_SETINSERTMARKCOLOR = WM_USER + 88 TB_GETINSERTMARKCOLOR = WM_USER + 89 TB_MAPACCELERATORW = WM_USER + 90 TB_GETSTRINGW = WM_USER + 91 TB_GETSTRINGA = WM_USER + 92 TB_SETBOUNDINGSIZE = WM_USER + 93 TB_SETHOTITEM2 = WM_USER + 94 TB_HASACCELERATOR = WM_USER + 95 TB_SETLISTGAP = WM_USER + 96 TB_GETIMAGELISTCOUNT = WM_USER + 98 TB_GETIDEALSIZE = WM_USER + 99 TB_GETMETRICS = WM_USER + 101 TB_SETMETRICS = WM_USER + 102 TB_GETITEMDROPDOWNRECT = WM_USER + 103 TB_SETPRESSEDIMAGELIST = WM_USER + 104 TB_GETPRESSEDIMAGELIST = WM_USER + 105 ; Toolbar WM_NOTIFY notification codes 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 TBN_DROPDOWN = TBN_FIRST - 10 TBN_CLOSEUP = TBN_FIRST - 11 TBN_GETOBJECT = TBN_FIRST - 12 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 TBN_RESTORE = TBN_FIRST - 21 TBN_SAVE = TBN_FIRST - 22 TBN_INITCUSTOMIZE = TBN_FIRST - 23 TBN_WRAPHOTITEM = TBN_FIRST - 24 TBN_DUPACCELERATOR = TBN_FIRST - 25 TBN_WRAPACCELERATOR = TBN_FIRST - 26 TBN_DRAGOVER = TBN_FIRST - 27 TBN_MAPACCELERATOR = TBN_FIRST - 28 shortnames \ TB_ADDBUTTONS,\ TB_ADDSTRING,\ TB_GETBUTTONINFO,\ TB_GETBUTTONTEXT,\ TB_GETSTRING,\ TB_INSERTBUTTON,\ TB_MAPACCELERATOR,\ TB_SAVERESTORE,\ TB_SETBUTTONINFO,\ TBN_GETBUTTONINFO,\ TBN_GETDISPINFO,\ TBN_GETINFOTIP ;====== REBAR CONTROL ======================================================== ; ReBar styles RBS_TOOLTIPS = $0100 RBS_VARHEIGHT = $0200 RBS_BANDBORDERS = $0400 RBS_FIXEDORDER = $0800 RBS_REGISTERDROP = $1000 RBS_AUTOSIZE = $2000 RBS_VERTICALGRIPPER = $4000 RBS_DBLCLKTOGGLE = $8000 ; ReBar band styles RBBS_BREAK = $0001 RBBS_FIXEDSIZE = $0002 RBBS_CHILDEDGE = $0004 RBBS_HIDDEN = $0008 RBBS_NOVERT = $0010 RBBS_FIXEDBMP = $0020 RBBS_VARIABLEHEIGHT = $0040 RBBS_GRIPPERALWAYS = $0080 RBBS_NOGRIPPER = $0100 RBBS_USECHEVRON = $0200 RBBS_HIDETITLE = $0400 RBBS_TOPALIGN = $0800 ; ReBar band info structure members flags RBBIM_STYLE = $0001 RBBIM_COLORS = $0002 RBBIM_TEXT = $0004 RBBIM_IMAGE = $0008 RBBIM_CHILD = $0010 RBBIM_CHILDSIZE = $0020 RBBIM_SIZE = $0040 RBBIM_BACKGROUND = $0080 RBBIM_ID = $0100 RBBIM_IDEALSIZE = $0200 RBBIM_LPARAM = $0400 RBBIM_HEADERSIZE = $0800 RBBIM_CHEVRONLOCATION = $1000 RBBIM_CHEVRONSTATE = $2000 ; flags for RB_SIZETORECT RBSTR_CHANGERECT = 1 ; NMREBAR structure members flags RBNM_ID = 1 RBNM_STYLE = 2 RBNM_LPARAM = 4 ; Hit test result flags RBHT_NOWHERE = $0001 RBHT_CAPTION = $0002 RBHT_CLIENT = $0003 RBHT_GRABBER = $0004 RBHT_CHEVRON = $0008 RBHT_SPLITTER = $0010 ; ReBar messages RB_INSERTBANDA = WM_USER + 1 RB_DELETEBAND = WM_USER + 2 RB_GETBARINFO = WM_USER + 3 RB_SETBARINFO = WM_USER + 4 RB_GETBANDINFO = WM_USER + 5 RB_SETBANDINFOA = WM_USER + 6 RB_SETPARENT = WM_USER + 7 RB_HITTEST = WM_USER + 8 RB_GETRECT = WM_USER + 9 RB_INSERTBANDW = WM_USER + 10 RB_SETBANDINFOW = WM_USER + 11 RB_GETBANDCOUNT = WM_USER + 12 RB_GETROWCOUNT = WM_USER + 13 RB_GETROWHEIGHT = WM_USER + 14 RB_IDTOINDEX = WM_USER + 16 RB_GETTOOLTIPS = WM_USER + 17 RB_SETTOOLTIPS = WM_USER + 18 RB_SETBKCOLOR = WM_USER + 19 RB_GETBKCOLOR = WM_USER + 20 RB_SETTEXTCOLOR = WM_USER + 21 RB_GETTEXTCOLOR = WM_USER + 22 RB_SIZETORECT = WM_USER + 23 RB_BEGINDRAG = WM_USER + 24 RB_ENDDRAG = WM_USER + 25 RB_DRAGMOVE = WM_USER + 26 RB_GETBARHEIGHT = WM_USER + 27 RB_GETBANDINFOW = WM_USER + 28 RB_GETBANDINFOA = WM_USER + 29 RB_MINIMIZEBAND = WM_USER + 30 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_GETBANDMARGINS = WM_USER + 40 RB_SETEXTENDEDSTYLE = WM_USER + 41 RB_GETEXTENDEDSTYLE = WM_USER + 42 RB_PUSHCHEVRON = WM_USER + 43 RB_SETBANDWIDTH = WM_USER + 44 RB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT RB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT ; ReBar notifications RBN_HEIGHTCHANGE = RBN_FIRST - 0 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 RBN_CHEVRONPUSHED = RBN_FIRST - 10 RBN_SPLITTERDRAG = RBN_FIRST - 11 RBN_MINMAX = RBN_FIRST - 21 RBN_AUTOBREAK = RBN_FIRST - 22 shortnames \ RB_INSERTBAND,\ RB_SETBANDINFO ;====== TOOLTIPS CONTROL ===================================================== ; Tooltip styles TTS_ALWAYSTIP = $0001 TTS_NOPREFIX = $0002 TTS_NOANIMATE = $0010 TTS_NOFADE = $0020 TTS_BALLOON = $0040 TTS_CLOSE = $0080 TTS_USEVISUALSTYLE = $0100 ; Tooltip flags TTF_IDISHWND = $0001 TTF_CENTERTIP = $0002 TTF_RTLREADING = $0004 TTF_SUBCLASS = $0010 TTF_TRACK = $0020 TTF_ABSOLUTE = $0080 TTF_TRANSPARENT = $0100 TTF_PARSELINKS = $1000 TTF_DI_SETITEM = $8000 ; Tooltip durations TTDT_AUTOMATIC = 0 TTDT_RESHOW = 1 TTDT_AUTOPOP = 2 TTDT_INITIAL = 3 ; ToolTip Icons TTI_NONE = 0 TTI_INFO = 1 TTI_WARNING = 2 TTI_ERROR = 3 TTI_INFO_LARGE = 4 TTI_WARNING_LARGE = 5 TTI_ERROR_LARGE = 6 ; Tooltip messages TTM_ACTIVATE = WM_USER + 1 TTM_SETDELAYTIME = WM_USER + 3 TTM_ADDTOOLA = WM_USER + 4 TTM_DELTOOLA = WM_USER + 5 TTM_NEWTOOLRECTA = WM_USER + 6 TTM_RELAYEVENT = WM_USER + 7 TTM_GETTOOLINFOA = WM_USER + 8 TTM_SETTOOLINFOA = WM_USER + 9 TTM_HITTESTA = WM_USER + 10 TTM_GETTEXTA = WM_USER + 11 TTM_UPDATETIPTEXTA = WM_USER + 12 TTM_GETTOOLCOUNT = WM_USER + 13 TTM_ENUMTOOLSA = WM_USER + 14 TTM_GETCURRENTTOOLA = WM_USER + 15 TTM_WINDOWFROMPOINT = WM_USER + 16 TTM_TRACKACTIVATE = WM_USER + 17 TTM_TRACKPOSITION = WM_USER + 18 TTM_SETTIPBKCOLOR = WM_USER + 19 TTM_SETTIPTEXTCOLOR = WM_USER + 20 TTM_GETDELAYTIME = WM_USER + 21 TTM_GETTIPBKCOLOR = WM_USER + 22 TTM_GETTIPTEXTCOLOR = WM_USER + 23 TTM_SETMAXTIPWIDTH = WM_USER + 24 TTM_GETMAXTIPWIDTH = WM_USER + 25 TTM_SETMARGIN = WM_USER + 26 TTM_GETMARGIN = WM_USER + 27 TTM_POP = WM_USER + 28 TTM_UPDATE = WM_USER + 29 TTM_GETBUBBLESIZE = WM_USER + 30 TTM_ADJUSTRECT = WM_USER + 31 TTM_SETTITLEA = WM_USER + 32 TTM_SETTITLEW = WM_USER + 33 TTM_POPUP = WM_USER + 34 TTM_GETTITLE = WM_USER + 35 TTM_ADDTOOLW = WM_USER + 50 TTM_DELTOOLW = WM_USER + 51 TTM_NEWTOOLRECTW = WM_USER + 52 TTM_GETTOOLINFOW = WM_USER + 53 TTM_SETTOOLINFOW = WM_USER + 54 TTM_HITTESTW = WM_USER + 55 TTM_GETTEXTW = WM_USER + 56 TTM_UPDATETIPTEXTW = WM_USER + 57 TTM_ENUMTOOLSW = WM_USER + 58 TTM_GETCURRENTTOOLW = WM_USER + 59 ; Tooltip notifications TTN_GETDISPINFOA = TTN_FIRST - 0 TTN_SHOW = TTN_FIRST - 1 TTN_POP = TTN_FIRST - 2 TTN_LINKCLICK = TTN_FIRST - 3 TTN_GETDISPINFOW = TTN_FIRST - 10 shortnames \ TTM_ADDTOOL,\ TTM_DELTOOL,\ TTM_ENUMTOOLS,\ TTM_GETCURRENTTOOL,\ TTM_GETTEXT,\ TTM_GETTOOLINFO,\ TTM_HITTEST,\ TTM_NEWTOOLRECT,\ TTM_SETTITLE,\ TTM_SETTOOLINFO,\ TTM_UPDATETIPTEXT,\ TTN_GETDISPINFO ;====== STATUS BAR CONTROL =================================================== ; Status bar styles SBARS_SIZEGRIP = $0100 SBARS_TOOLTIPS = $0800 ; Status bar drawing types SBT_NOBORDERS = $0100 SBT_POPOUT = $0200 SBT_RTLREADING = $0400 SBT_NOTABPARSING = $0800 SBT_OWNERDRAW = $1000 ; refers to the data saved for simple mode SB_SIMPLEID =$00ff ; Status bar messages SB_SETTEXTA = WM_USER + 1 SB_GETTEXTA = WM_USER + 2 SB_GETTEXTLENGTHA = WM_USER + 3 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 SB_SETTEXTW = WM_USER + 11 SB_GETTEXTLENGTHW = WM_USER + 12 SB_GETTEXTW = WM_USER + 13 SB_ISSIMPLE = WM_USER + 14 SB_SETICON = WM_USER + 15 SB_SETTIPTEXTA = WM_USER + 16 SB_SETTIPTEXTW = WM_USER + 17 SB_GETTIPTEXTA = WM_USER + 18 SB_GETTIPTEXTW = WM_USER + 19 SB_GETICON = WM_USER + 20 ; Status bar notifications SBN_SIMPLEMODECHANGE = SBN_FIRST - 0 shortnames \ SB_GETTEXT,\ SB_GETTEXTLENGTH,\ SB_GETTIPTEXT,\ SB_SETTEXT,\ SB_SETTIPTEXT ;====== TRACKBAR CONTROL ===================================================== ; Trackbar styles TBS_AUTOTICKS = $0001 TBS_VERT = $0002 TBS_HORZ = $0000 TBS_TOP = $0004 TBS_BOTTOM = $0000 TBS_LEFT = $0004 TBS_RIGHT = $0000 TBS_BOTH = $0008 TBS_NOTICKS = $0010 TBS_ENABLESELRANGE = $0020 TBS_FIXEDLENGTH = $0040 TBS_NOTHUMB = $0080 TBS_TOOLTIPS = $0100 TBS_REVERSED = $0200 TBS_DOWNISLEFT = $0400 TBS_NOTIFYBEFOREMOVE = $0800 TBS_TRANSPARENTBKGND = $1000 ; TrackBar Tip Side flags TBTS_TOP = 0 TBTS_LEFT = 1 TBTS_BOTTOM = 2 TBTS_RIGHT = 3 ; custom draw item specs TBCD_TICS = $0001 TBCD_THUMB = $0002 TBCD_CHANNEL = $0003 ; Trackbar messages TBM_GETPOS = WM_USER + 0 TBM_GETRANGEMIN = WM_USER + 1 TBM_GETRANGEMAX = WM_USER + 2 TBM_GETTIC = WM_USER + 3 TBM_SETTIC = WM_USER + 4 TBM_SETPOS = WM_USER + 5 TBM_SETRANGE = WM_USER + 6 TBM_SETRANGEMIN = WM_USER + 7 TBM_SETRANGEMAX = WM_USER + 8 TBM_CLEARTICS = WM_USER + 9 TBM_SETSEL = WM_USER + 10 TBM_SETSELSTART = WM_USER + 11 TBM_SETSELEND = WM_USER + 12 TBM_GETPTICS = WM_USER + 14 TBM_GETTICPOS = WM_USER + 15 TBM_GETNUMTICS = WM_USER + 16 TBM_GETSELSTART = WM_USER + 17 TBM_GETSELEND = WM_USER + 18 TBM_CLEARSEL = WM_USER + 19 TBM_SETTICFREQ = WM_USER + 20 TBM_SETPAGESIZE = WM_USER + 21 TBM_GETPAGESIZE = WM_USER + 22 TBM_SETLINESIZE = WM_USER + 23 TBM_GETLINESIZE = WM_USER + 24 TBM_GETTHUMBRECT = WM_USER + 25 TBM_GETCHANNELRECT = WM_USER + 26 TBM_SETTHUMBLENGTH = WM_USER + 27 TBM_GETTHUMBLENGTH = WM_USER + 28 TBM_SETTOOLTIPS = WM_USER + 29 TBM_GETTOOLTIPS = WM_USER + 30 TBM_SETTIPSIDE = WM_USER + 31 TBM_SETBUDDY = WM_USER + 32 TBM_GETBUDDY = WM_USER + 33 TBM_SETPOSNOTIFY = WM_USER + 34 ; Trackbar notifications TB_LINEUP = 0 TB_LINEDOWN = 1 TB_PAGEUP = 2 TB_PAGEDOWN = 3 TB_THUMBPOSITION = 4 TB_THUMBTRACK = 5 TB_TOP = 6 TB_BOTTOM = 7 TB_ENDTRACK = 8 TRBN_THUMBPOSCHANGING = TRBN_FIRST-1 ;====== DRAG LIST CONTROL ==================================================== ; DragListInfo uNotifications DL_BEGINDRAG = WM_USER+133 DL_DRAGGING = WM_USER+134 DL_DROPPED = WM_USER+135 DL_CANCELDRAG = WM_USER+136 ; DragList message handling result codes DL_CURSORSET = 0 DL_STOPCURSOR = 1 DL_COPYCURSOR = 2 DL_MOVECURSOR = 3 DRAGLISTMSGSTRING equ 'commctrl_DragListMsg' ;====== UPDOWN CONTROL ======================================================= ; Up-down control styles UDS_WRAP = $0001 UDS_SETBUDDYINT = $0002 UDS_ALIGNRIGHT = $0004 UDS_ALIGNLEFT = $0008 UDS_AUTOBUDDY = $0010 UDS_ARROWKEYS = $0020 UDS_HORZ = $0040 UDS_NOTHOUSANDS = $0080 UDS_HOTTRACK = $0100 ; Up-down control messages UDM_SETRANGE = WM_USER + 101 UDM_GETRANGE = WM_USER + 102 UDM_SETPOS = WM_USER + 103 UDM_GETPOS = WM_USER + 104 UDM_SETBUDDY = WM_USER + 105 UDM_GETBUDDY = WM_USER + 106 UDM_SETACCEL = WM_USER + 107 UDM_GETACCEL = WM_USER + 108 UDM_SETBASE = WM_USER + 109 UDM_GETBASE = WM_USER + 110 UDM_SETRANGE32 = WM_USER + 111 UDM_GETRANGE32 = WM_USER + 112 UDM_SETPOS32 = WM_USER + 113 UDM_GETPOS32 = WM_USER + 114 ; Up-down control notifications UDN_DELTAPOS = UDN_FIRST - 1 ;====== PROGRESS CONTROL ===================================================== ; Progress bar control styles PBS_SMOOTH = $01 PBS_VERTICAL = $04 PBS_MARQUEE = $08 PBS_SMOOTHREVERSE = $10 ; progress bar state PBST_NORMAL = 1 PBST_ERROR = 2 PBST_PAUSED = 3 ; Progress bar messages PBM_SETRANGE = WM_USER + 1 PBM_SETPOS = WM_USER + 2 PBM_DELTAPOS = WM_USER + 3 PBM_SETSTEP = WM_USER + 4 PBM_STEPIT = WM_USER + 5 PBM_SETRANGE32 = WM_USER + 6 PBM_GETRANGE = WM_USER + 7 PBM_GETPOS = WM_USER + 8 PBM_SETBARCOLOR = WM_USER + 9 PBM_SETMARQUEE = WM_USER + 10 PBM_GETSTEP = WM_USER + 13 PBM_GETBKCOLOR = WM_USER + 14 PBM_GETBARCOLOR = WM_USER + 15 PBM_SETSTATE = WM_USER + 16 PBM_GETSTATE = WM_USER + 17 ;====== HOTKEY CONTROL ======================================================= ; Hot key flags HOTKEYF_SHIFT = 1 HOTKEYF_CONTROL = 2 HOTKEYF_ALT = 4 HOTKEYF_EXT = 8 ; Key combination flags HKCOMB_NONE = 01h HKCOMB_S = 02h HKCOMB_C = 04h HKCOMB_A = 08h HKCOMB_SC = 10h HKCOMB_SA = 20h HKCOMB_CA = 40h HKCOMB_SCA = 80h ; Hot-key control messages HKM_SETHOTKEY = WM_USER + 1 HKM_GETHOTKEY = WM_USER + 2 HKM_SETRULES = WM_USER + 3 ;====== SysLink control ========================================= INVALID_LINK_INDEX = -1 MAX_LINKID_TEXT = 48 L_MAX_URL_LENGTH = 2048 + 32 + 3 ; SysLink control styles LWS_TRANSPARENT = $0001 LWS_IGNORERETURN = $0002 LWS_NOPREFIX = $0004 LWS_USEVISUALSTYLE = $0008 LWS_USECUSTOMTEXT = $0010 LWS_RIGHT = $0020 ; Link item structure members flags LIF_ITEMINDEX = 1 LIF_STATE = 2 LIF_ITEMID = 4 LIF_URL = 8 ; Link item states LIS_FOCUSED = $01 LIS_ENABLED = $02 LIS_VISITED = $04 LIS_HOTTRACK = $08 LIS_DEFAULTCOLORS = $10 ; LinkWindow messages LM_HITTEST = WM_USER+0x300 LM_GETIDEALHEIGHT = WM_USER+0x301 LM_GETIDEALSIZE = WM_USER+0x301 LM_SETITEM = WM_USER+0x302 LM_GETITEM = WM_USER+0x303 ;====== LISTVIEW CONTROL ===================================================== ; List view styles LVS_ALIGNTOP = $0000 LVS_ICON = $0000 LVS_REPORT = $0001 LVS_SMALLICON = $0002 LVS_LIST = $0003 LVS_TYPEMASK = $0003 LVS_SINGLESEL = $0004 LVS_SHOWSELALWAYS = $0008 LVS_SORTASCENDING = $0010 LVS_SORTDESCENDING = $0020 LVS_SHAREIMAGELISTS = $0040 LVS_NOLABELWRAP = $0080 LVS_AUTOARRANGE = $0100 LVS_EDITLABELS = $0200 LVS_OWNERDRAWFIXED = $0400 LVS_ALIGNLEFT = $0800 LVS_ALIGNMASK = $0C00 LVS_OWNERDATA = $1000 LVS_NOSCROLL = $2000 LVS_NOCOLUMNHEADER = $4000 LVS_NOSORTHEADER = $8000 LVS_TYPESTYLEMASK = $FC00 ; List view extended styles LVS_EX_GRIDLINES = $00000001 LVS_EX_SUBITEMIMAGES = $00000002 LVS_EX_CHECKBOXES = $00000004 LVS_EX_TRACKSELECT = $00000008 LVS_EX_HEADERDRAGDROP = $00000010 LVS_EX_FULLROWSELECT = $00000020 LVS_EX_ONECLICKACTIVATE = $00000040 LVS_EX_TWOCLICKACTIVATE = $00000080 LVS_EX_FLATSB = $00000100 LVS_EX_REGIONAL = $00000200 LVS_EX_INFOTIP = $00000400 LVS_EX_UNDERLINEHOT = $00000800 LVS_EX_UNDERLINECOLD = $00001000 LVS_EX_MULTIWORKAREAS = $00002000 LVS_EX_LABELTIP = $00004000 LVS_EX_BORDERSELECT = $00008000 LVS_EX_DOUBLEBUFFER = $00010000 LVS_EX_HIDELABELS = $00020000 LVS_EX_SINGLEROW = $00040000 LVS_EX_SNAPTOGRID = $00080000 LVS_EX_SIMPLESELECT = $00100000 LVS_EX_JUSTIFYCOLUMNS = $00200000 LVS_EX_TRANSPARENTBKGND = $00400000 LVS_EX_TRANSPARENTSHADOWTEXT = $00800000 LVS_EX_AUTOAUTOARRANGE = $01000000 LVS_EX_HEADERINALLVIEWS = $02000000 LVS_EX_AUTOCHECKSELECT = $08000000 LVS_EX_AUTOSIZECOLUMNS = $10000000 LVS_EX_COLUMNSNAPPOINTS = $40000000 LVS_EX_COLUMNOVERFLOW = $80000000 ; List view image list types LVSIL_NORMAL = 0 LVSIL_SMALL = 1 LVSIL_STATE = 2 LVSIL_GROUPHEADER = 3 ; List view item structure members flags LVIF_TEXT = $00000001 LVIF_IMAGE = $00000002 LVIF_PARAM = $00000004 LVIF_STATE = $00000008 LVIF_INDENT = $00000010 LVIF_GROUPID = $00000100 LVIF_COLUMNS = $00000200 LVIF_NORECOMPUTE = $00000800 LVIF_DI_SETITEM = $00001000 LVIF_COLFMT = $00010000 ; List view item states LVIS_FOCUSED = $0001 LVIS_SELECTED = $0002 LVIS_CUT = $0004 LVIS_DROPHILITED = $0008 LVIS_GLOW = $0010 LVIS_ACTIVATING = $0020 LVIS_OVERLAYMASK = $0F00 LVIS_STATEIMAGEMASK = $F000 ; List view callback item values LPSTR_TEXTCALLBACK = -1 I_INDENTCALLBACK = -1 I_GROUPIDCALLBACK = -1 I_GROUPIDNONE = -2 I_IMAGECALLBACK = -1 I_IMAGENONE = -2 I_COLUMNSCALLBACK = -1 I_CHILDRENCALLBACK = -1 ; List view next item relations LVNI_ALL = $0000 LVNI_FOCUSED = $0001 LVNI_SELECTED = $0002 LVNI_CUT = $0004 LVNI_DROPHILITED = $0008 LVNI_VISIBLEORDER = $0010 LVNI_PREVIOUS = $0020 LVNI_VISIBLEONLY = $0040 LVNI_SAMEGROUPONLY = $0080 LVNI_ABOVE = $0100 LVNI_BELOW = $0200 LVNI_TOLEFT = $0400 LVNI_TORIGHT = $0800 LVNI_DIRECTIONMASK = LVNI_ABOVE or LVNI_BELOW or LVNI_TOLEFT or LVNI_TORIGHT ; List view search types LVFI_PARAM = $01 LVFI_STRING = $02 LVFI_SUBSTRING = $04 LVFI_PARTIAL = $08 LVFI_WRAP = $20 LVFI_NEARESTXY = $40 ; List view item rectangle types LVIR_BOUNDS = 0 LVIR_ICON = 1 LVIR_LABEL = 2 LVIR_SELECTBOUNDS = 3 ; List view alignment values LVA_DEFAULT = $0000 LVA_ALIGNLEFT = $0001 LVA_ALIGNTOP = $0002 LVA_ALIGNRIGHT = $0003 LVA_ALIGNBOTTOM = $0004 LVA_SNAPTOGRID = $0005 LVA_SORTASCENDING = $0100 LVA_SORTDESCENDING = $0200 ; List view column structure members flags LVCF_FMT = $0001 LVCF_WIDTH = $0002 LVCF_TEXT = $0004 LVCF_SUBITEM = $0008 LVCF_IMAGE = $0010 LVCF_ORDER = $0020 LVCF_MINWIDTH = $0040 LVCF_DEFAULTWIDTH = $0080 LVCF_IDEALWIDTH = $0100 ; List view column alignment values LVCFMT_LEFT = $00000000 LVCFMT_RIGHT = $00000001 LVCFMT_CENTER = $00000002 LVCFMT_JUSTIFYMASK = $00000003 LVCFMT_IMAGE = $00000800 LVCFMT_BITMAP_ON_RIGHT = $00001000 LVCFMT_COL_HAS_IMAGES = $00008000 LVCFMT_FIXED_WIDTH = $00000100 LVCFMT_NO_DPI_SCALE = $00040000 LVCFMT_FIXED_RATIO = $00080000 LVCFMT_LINE_BREAK = $00100000 LVCFMT_FILL = $00200000 LVCFMT_WRAP = $00400000 LVCFMT_NO_TITLE = $00800000 LVCFMT_SPLITBUTTON = $01000000 LVCFMT_TILE_PLACEMENTMASK = LVCFMT_LINE_BREAK or LVCFMT_FILL ; List view column width values LVSCW_AUTOSIZE = -1 LVSCW_AUTOSIZE_USEHEADER = -2 ; LVM_SETITEMCOUNT flags LVSICF_NOINVALIDATEALL = 1 LVSICF_NOSCROLL = 2 ; List view background image flags LVBKIF_SOURCE_NONE = $00000000 LVBKIF_SOURCE_HBITMAP = $00000001 LVBKIF_SOURCE_URL = $00000002 LVBKIF_SOURCE_MASK = $00000003 LVBKIF_STYLE_NORMAL = $00000000 LVBKIF_STYLE_TILE = $00000010 LVBKIF_STYLE_MASK = $00000010 LVBKIF_FLAG_TILEOFFSET = $00000100 LVBKIF_TYPE_WATERMARK = $10000000 LVBKIF_FLAG_ALPHABLEND = $20000000 ; List view current view LV_VIEW_ICON = 0 LV_VIEW_DETAILS = 1 LV_VIEW_SMALLICON = 2 LV_VIEW_LIST = 3 LV_VIEW_TILE = 4 LV_VIEW_MAX = 4 ; List view group structure members flags LVGF_NONE = $00000000 LVGF_HEADER = $00000001 LVGF_FOOTER = $00000002 LVGF_STATE = $00000004 LVGF_ALIGN = $00000008 LVGF_GROUPID = $00000010 LVGF_SUBTITLE = $00000100 LVGF_TASK = $00000200 LVGF_DESCRIPTIONTOP = $00000400 LVGF_DESCRIPTIONBOTTOM = $00000800 LVGF_TITLEIMAGE = $00001000 LVGF_EXTENDEDIMAGE = $00002000 LVGF_ITEMS = $00004000 LVGF_SUBSET = $00008000 LVGF_SUBSETITEMS = $00010000 ; List view group states LVGS_NORMAL = $00000000 LVGS_COLLAPSED = $00000001 LVGS_HIDDEN = $00000002 LVGS_NOHEADER = $00000004 LVGS_COLLAPSIBLE = $00000008 LVGS_FOCUSED = $00000010 LVGS_SELECTED = $00000020 LVGS_SUBSETED = $00000040 LVGS_SUBSETLINKFOCUSED = $00000080 ; List view group alignments LVGA_HEADER_LEFT = $00000001 LVGA_HEADER_CENTER = $00000002 LVGA_HEADER_RIGHT = $00000004 LVGA_FOOTER_LEFT = $00000008 LVGA_FOOTER_CENTER = $00000010 LVGA_FOOTER_RIGHT = $00000020 ; List view group rect specifier LVGGR_GROUP = 0 LVGGR_HEADER = 1 LVGGR_LABEL = 2 LVGGR_SUBSETLINK = 3 ; List view group metrics structure members flags LVGMF_NONE = 0 LVGMF_BORDERSIZE = 1 LVGMF_BORDERCOLOR = 2 LVGMF_TEXTCOLOR = 4 ; List view tile view info sizing LVTVIF_AUTOSIZE = 0 LVTVIF_FIXEDWIDTH = 1 LVTVIF_FIXEDHEIGHT = 2 LVTVIF_FIXEDSIZE = 3 LVTVIF_EXTENDED = 4 ; List view tile view info structure members flags LVTVIM_TILESIZE = 1 LVTVIM_COLUMNS = 2 LVTVIM_LABELMARGIN = 4 ; List view insert mark flags LVIM_BEFORE = 0 LVIM_AFTER = 1 ; List view footer info flags LVFF_ITEMCOUNT = 1 ; List view footer item structure members flags LVFIF_TEXT = 1 LVFIF_STATE = 2 ; List view footer item state LVFIS_FOCUSED = 1 ; List view item activate key flags LVKF_ALT = 1 LVKF_CONTROL = 2 LVKF_SHIFT = 4 ; List view custom draw item type LVCDI_ITEM = 0 LVCDI_GROUP = 1 LVCDI_ITEMSLIST = 2 ; List view custom draw return values LVCDRF_NOSELECT = $00010000 LVCDRF_NOGROUPFRAME = $00020000 ; List view get info tip Flag LVGIT_UNFOLDED = 1 ; List view notify find item return values LVNSCH_DEFAULT = -1 LVNSCH_ERROR = -2 LVNSCH_IGNORE = -3 ; List view empty markup flag EMF_CENTERED = 1 ; List view hit test flags LVHT_NOWHERE = $00000001 LVHT_ONITEMICON = $00000002 LVHT_ONITEMLABEL = $00000004 LVHT_ONITEMSTATEICON = $00000008 LVHT_ONITEM = LVHT_ONITEMICON or LVHT_ONITEMLABEL or LVHT_ONITEMSTATEICON LVHT_ABOVE = $00000008 LVHT_BELOW = $00000010 LVHT_TORIGHT = $00000020 LVHT_TOLEFT = $00000040 LVHT_EX_GROUP_STATEICON = $01000000 LVHT_EX_GROUP_SUBSETLINK = $02000000 LVHT_EX_ONCONTENTS = $04000000 LVHT_EX_FOOTER = $08000000 LVHT_EX_GROUP_HEADER = $10000000 LVHT_EX_GROUP_FOOTER = $20000000 LVHT_EX_GROUP_COLLAPSE = $40000000 LVHT_EX_GROUP_BACKGROUND = $80000000 LVHT_EX_GROUP = LVHT_EX_GROUP_BACKGROUND or LVHT_EX_GROUP_COLLAPSE or LVHT_EX_GROUP_FOOTER or LVHT_EX_GROUP_HEADER or LVHT_EX_GROUP_STATEICON or LVHT_EX_GROUP_SUBSETLINK ; List view messages LVM_GETBKCOLOR = LVM_FIRST + 0 LVM_SETBKCOLOR = LVM_FIRST + 1 LVM_GETIMAGELIST = LVM_FIRST + 2 LVM_SETIMAGELIST = LVM_FIRST + 3 LVM_GETITEMCOUNT = LVM_FIRST + 4 LVM_GETITEMA = LVM_FIRST + 5 LVM_SETITEMA = LVM_FIRST + 6 LVM_INSERTITEMA = LVM_FIRST + 7 LVM_DELETEITEM = LVM_FIRST + 8 LVM_DELETEALLITEMS = LVM_FIRST + 9 LVM_GETCALLBACKMASK = LVM_FIRST + 10 LVM_SETCALLBACKMASK = LVM_FIRST + 11 LVM_GETNEXTITEM = LVM_FIRST + 12 LVM_FINDITEMA = LVM_FIRST + 13 LVM_GETITEMRECT = LVM_FIRST + 14 LVM_SETITEMPOSITION = LVM_FIRST + 15 LVM_GETITEMPOSITION = LVM_FIRST + 16 LVM_GETSTRINGWIDTHA = LVM_FIRST + 17 LVM_HITTEST = LVM_FIRST + 18 LVM_ENSUREVISIBLE = LVM_FIRST + 19 LVM_SCROLL = LVM_FIRST + 20 LVM_REDRAWITEMS = LVM_FIRST + 21 LVM_ARRANGE = LVM_FIRST + 22 LVM_EDITLABELA = LVM_FIRST + 23 LVM_GETEDITCONTROL = LVM_FIRST + 24 LVM_GETCOLUMNA = LVM_FIRST + 25 LVM_SETCOLUMNA = LVM_FIRST + 26 LVM_INSERTCOLUMNA = LVM_FIRST + 27 LVM_DELETECOLUMN = LVM_FIRST + 28 LVM_GETCOLUMNWIDTH = LVM_FIRST + 29 LVM_SETCOLUMNWIDTH = LVM_FIRST + 30 LVM_CREATEDRAGIMAGE = LVM_FIRST + 33 LVM_GETVIEWRECT = LVM_FIRST + 34 LVM_GETTEXTCOLOR = LVM_FIRST + 35 LVM_SETTEXTCOLOR = LVM_FIRST + 36 LVM_GETTEXTBKCOLOR = LVM_FIRST + 37 LVM_SETTEXTBKCOLOR = LVM_FIRST + 38 LVM_GETTOPINDEX = LVM_FIRST + 39 LVM_GETCOUNTPERPAGE = LVM_FIRST + 40 LVM_GETORIGIN = LVM_FIRST + 41 LVM_UPDATE = LVM_FIRST + 42 LVM_SETITEMSTATE = LVM_FIRST + 43 LVM_GETITEMSTATE = LVM_FIRST + 44 LVM_GETITEMTEXTA = LVM_FIRST + 45 LVM_SETITEMTEXTA = LVM_FIRST + 46 LVM_SETITEMCOUNT = LVM_FIRST + 47 LVM_SORTITEMS = LVM_FIRST + 48 LVM_SETITEMPOSITION32 = LVM_FIRST + 49 LVM_GETSELECTEDCOUNT = LVM_FIRST + 50 LVM_GETITEMSPACING = LVM_FIRST + 51 LVM_GETISEARCHSTRINGA = LVM_FIRST + 52 LVM_SETICONSPACING = LVM_FIRST + 53 LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54 LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55 LVM_GETSUBITEMRECT = LVM_FIRST + 56 LVM_SUBITEMHITTEST = LVM_FIRST + 57 LVM_SETCOLUMNORDERARRAY = LVM_FIRST + 58 LVM_GETCOLUMNORDERARRAY = LVM_FIRST + 59 LVM_SETHOTITEM = LVM_FIRST + 60 LVM_GETHOTITEM = LVM_FIRST + 61 LVM_SETHOTCURSOR = LVM_FIRST + 62 LVM_GETHOTCURSOR = LVM_FIRST + 63 LVM_APPROXIMATEVIEWRECT = LVM_FIRST + 64 LVM_SETWORKAREAS = LVM_FIRST + 65 LVM_GETSELECTIONMARK = LVM_FIRST + 66 LVM_SETSELECTIONMARK = LVM_FIRST + 67 LVM_SETBKIMAGEA = LVM_FIRST + 68 LVM_GETBKIMAGEA = LVM_FIRST + 69 LVM_GETWORKAREAS = LVM_FIRST + 70 LVM_SETHOVERTIME = LVM_FIRST + 71 LVM_GETHOVERTIME = LVM_FIRST + 72 LVM_GETNUMBEROFWORKAREAS = LVM_FIRST + 73 LVM_SETTOOLTIPS = LVM_FIRST + 74 LVM_GETITEMW = LVM_FIRST + 75 LVM_SETITEMW = LVM_FIRST + 76 LVM_INSERTITEMW = LVM_FIRST + 77 LVM_GETTOOLTIPS = LVM_FIRST + 78 LVM_SORTITEMSEX = LVM_FIRST + 81 LVM_FINDITEMW = LVM_FIRST + 83 LVM_GETSTRINGWIDTHW = LVM_FIRST + 87 LVM_GETGROUPSTATE = LVM_FIRST + 92 LVM_GETFOCUSEDGROUP = LVM_FIRST + 93 LVM_GETCOLUMNW = LVM_FIRST + 95 LVM_SETCOLUMNW = LVM_FIRST + 96 LVM_INSERTCOLUMNW = LVM_FIRST + 97 LVM_GETGROUPRECT = LVM_FIRST + 98 LVM_GETITEMTEXTW = LVM_FIRST + 115 LVM_SETITEMTEXTW = LVM_FIRST + 116 LVM_GETISEARCHSTRINGW = LVM_FIRST + 117 LVM_EDITLABELW = LVM_FIRST + 118 LVM_SETBKIMAGEW = LVM_FIRST + 138 LVM_GETBKIMAGEW = LVM_FIRST + 139 LVM_SETSELECTEDCOLUMN = LVM_FIRST + 140 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_FIRST + 150 LVM_MOVEGROUP = LVM_FIRST + 151 LVM_GETGROUPCOUNT = LVM_FIRST + 152 LVM_GETGROUPINFOBYINDEX = LVM_FIRST + 153 LVM_MOVEITEMTOGROUP = LVM_FIRST + 154 LVM_SETGROUPMETRICS = LVM_FIRST + 155 LVM_GETGROUPMETRICS = LVM_FIRST + 156 LVM_ENABLEGROUPVIEW = LVM_FIRST + 157 LVM_SORTGROUPS = LVM_FIRST + 158 LVM_INSERTGROUPSORTED = LVM_FIRST + 159 LVM_REMOVEALLGROUPS = LVM_FIRST + 160 LVM_HASGROUP = LVM_FIRST + 161 LVM_SETTILEVIEWINFO = LVM_FIRST + 162 LVM_GETTILEVIEWINFO = LVM_FIRST + 163 LVM_SETTILEINFO = LVM_FIRST + 164 LVM_GETTILEINFO = LVM_FIRST + 165 LVM_SETINSERTMARK = LVM_FIRST + 166 LVM_GETINSERTMARK = LVM_FIRST + 167 LVM_INSERTMARKHITTEST = LVM_FIRST + 168 LVM_GETINSERTMARKRECT = LVM_FIRST + 169 LVM_SETINSERTMARKCOLOR = LVM_FIRST + 170 LVM_GETINSERTMARKCOLOR = LVM_FIRST + 171 LVM_SETINFOTIP = LVM_FIRST + 173 LVM_GETSELECTEDCOLUMN = LVM_FIRST + 174 LVM_ISGROUPVIEWENABLED = LVM_FIRST + 175 LVM_GETOUTLINECOLOR = LVM_FIRST + 176 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 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 ; List view notifications LVN_ITEMCHANGING = LVN_FIRST - 0 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_ODCACHEHINT = LVN_FIRST - 13 LVN_ITEMACTIVATE = LVN_FIRST - 14 LVN_ODSTATECHANGED = LVN_FIRST - 15 LVN_HOTTRACK = LVN_FIRST - 21 LVN_GETDISPINFOA = LVN_FIRST - 50 LVN_SETDISPINFOA = LVN_FIRST - 51 LVN_ODFINDITEMA = LVN_FIRST - 52 LVN_KEYDOWN = LVN_FIRST - 55 LVN_MARQUEEBEGIN = LVN_FIRST - 56 LVN_GETINFOTIPA = LVN_FIRST - 57 LVN_GETINFOTIPW = LVN_FIRST - 58 LVN_INCREMENTALSEARCHA = LVN_FIRST - 62 LVN_INCREMENTALSEARCHW = LVN_FIRST - 63 LVN_COLUMNDROPDOWN = LVN_FIRST - 64 LVN_COLUMNOVERFLOWCLICK = LVN_FIRST - 66 LVN_BEGINLABELEDITW = LVN_FIRST - 75 LVN_ENDLABELEDITW = LVN_FIRST - 76 LVN_GETDISPINFOW = LVN_FIRST - 77 LVN_SETDISPINFOW = LVN_FIRST - 78 LVN_ODFINDITEMW = LVN_FIRST - 79 LVN_BEGINSCROLL = LVN_FIRST - 80 LVN_ENDSCROLL = LVN_FIRST - 81 LVN_LINKCLICK = LVN_FIRST - 84 LVN_GETEMPTYMARKUP = LVN_FIRST - 87 shortnames \ LVM_EDITLABEL,\ LVM_FINDITEM,\ LVM_GETBKIMAGE,\ LVM_GETCOLUMN,\ LVM_GETISEARCHSTRING,\ LVM_GETITEM,\ LVM_GETITEMTEXT,\ LVM_GETSTRINGWIDTH,\ LVM_INSERTCOLUMN,\ LVM_INSERTITEM,\ LVM_SETBKIMAGE,\ LVM_SETCOLUMN,\ LVM_SETITEM,\ LVM_SETITEMTEXT,\ LVN_BEGINLABELEDIT,\ LVN_ENDLABELEDIT,\ LVN_GETDISPINFO,\ LVN_INCREMENTALSEARCH,\ LVN_ODFINDITEM,\ LVN_SETDISPINFO ;====== TREEVIEW CONTROL ===================================================== ; Tree view styles TVS_HASBUTTONS = $0001 TVS_HASLINES = $0002 TVS_LINESATROOT = $0004 TVS_EDITLABELS = $0008 TVS_DISABLEDRAGDROP = $0010 TVS_SHOWSELALWAYS = $0020 TVS_RTLREADING = $0040 TVS_NOTOOLTIPS = $0080 TVS_CHECKBOXES = $0100 TVS_TRACKSELECT = $0200 TVS_SINGLEEXPAND = $0400 TVS_INFOTIP = $0800 TVS_FULLROWSELECT = $1000 TVS_NOSCROLL = $2000 TVS_NONEVENHEIGHT = $4000 TVS_NOHSCROLL = $8000 ; Tree view extended styles TVS_EX_NOSINGLECOLLAPSE = $0001 TVS_EX_MULTISELECT = $0002 TVS_EX_DOUBLEBUFFER = $0004 TVS_EX_NOINDENTSTATE = $0008 TVS_EX_RICHTOOLTIP = $0010 TVS_EX_AUTOHSCROLL = $0020 TVS_EX_FADEINOUTEXPANDOS = $0040 TVS_EX_PARTIALCHECKBOXES = $0080 TVS_EX_EXCLUSIONCHECKBOXES = $0100 TVS_EX_DIMMEDCHECKBOXES = $0200 TVS_EX_DRAWIMAGEASYNC = $0400 ; Tree view item structure members flags TVIF_TEXT = $0001 TVIF_IMAGE = $0002 TVIF_PARAM = $0004 TVIF_STATE = $0008 TVIF_HANDLE = $0010 TVIF_SELECTEDIMAGE = $0020 TVIF_CHILDREN = $0040 TVIF_INTEGRAL = $0080 TVIF_STATEEX = $0100 TVIF_EXPANDEDIMAGE = $0200 TVIF_DI_SETITEM = $1000 ; Tree view item states TVIS_FOCUSED = $0001 TVIS_SELECTED = $0002 TVIS_CUT = $0004 TVIS_DROPHILITED = $0008 TVIS_BOLD = $0010 TVIS_EXPANDED = $0020 TVIS_EXPANDEDONCE = $0040 TVIS_EXPANDPARTIAL = $0080 TVIS_OVERLAYMASK = $0F00 TVIS_STATEIMAGEMASK = $F000 TVIS_USERMASK = $F000 ; Tree view item extended states TVIS_EX_FLAT = 1 TVIS_EX_DISABLED = 2 TVIS_EX_ALL = 2 ; Tree view predefined item values TVI_ROOT = -$10000 TVI_FIRST = -$10000 + 1 TVI_LAST = -$10000 + 2 TVI_SORT = -$10000 + 3 ; Tree view action flags TVE_COLLAPSE = $0001 TVE_EXPAND = $0002 TVE_TOGGLE = $0003 TVE_EXPANDPARTIAL = $4000 TVE_COLLAPSERESET = $8000 ; Tree view image list types TVSIL_NORMAL = 0 TVSIL_STATE = 2 ; Tree view next item types TVGN_ROOT = $0000 TVGN_NEXT = $0001 TVGN_PREVIOUS = $0002 TVGN_PARENT = $0003 TVGN_CHILD = $0004 TVGN_FIRSTVISIBLE = $0005 TVGN_NEXTVISIBLE = $0006 TVGN_PREVIOUSVISIBLE = $0007 TVGN_DROPHILITE = $0008 TVGN_CARET = $0009 TVGN_LASTVISIBLE = $000A TVGN_NEXTSELECTED = $000B TVSI_NOSINGLEEXPAND = $8000 ; Tree view set border flags TVSBF_XBORDER = 1 TVSBF_YBORDER = 2 ; Tree view get item part rect ID TVGIPR_BUTTON = 1 ; Tree view action flags TVC_UNKNOWN = 0 TVC_BYMOUSE = 1 TVC_BYKEYBOARD = 2 TVNRET_DEFAULT = 0 TVNRET_SKIPOLD = 1 TVNRET_SKIPNEW = 2 ; Tree view custom draw return flag TVCDRF_NOIMAGES = $00010000 ; Tree view hit test flags TVHT_NOWHERE = $0001 TVHT_ONITEMICON = $0002 TVHT_ONITEMLABEL = $0004 TVHT_ONITEMINDENT = $0008 TVHT_ONITEMBUTTON = $0010 TVHT_ONITEMRIGHT = $0020 TVHT_ONITEMSTATEICON = $0040 TVHT_ONITEM = TVHT_ONITEMICON or TVHT_ONITEMLABEL or TVHT_ONITEMSTATEICON TVHT_ABOVE = $0100 TVHT_BELOW = $0200 TVHT_TORIGHT = $0400 TVHT_TOLEFT = $0800 ; Tree view messages TVM_INSERTITEMA = TV_FIRST + 0 TVM_DELETEITEM = TV_FIRST + 1 TVM_EXPAND = TV_FIRST + 2 TVM_GETITEMRECT = TV_FIRST + 4 TVM_GETCOUNT = TV_FIRST + 5 TVM_GETINDENT = TV_FIRST + 6 TVM_SETINDENT = TV_FIRST + 7 TVM_GETIMAGELIST = TV_FIRST + 8 TVM_SETIMAGELIST = TV_FIRST + 9 TVM_GETNEXTITEM = TV_FIRST + 10 TVM_SELECTITEM = TV_FIRST + 11 TVM_GETITEMA = TV_FIRST + 12 TVM_SETITEMA = TV_FIRST + 13 TVM_EDITLABELA = TV_FIRST + 14 TVM_GETEDITCONTROL = TV_FIRST + 15 TVM_GETVISIBLECOUNT = TV_FIRST + 16 TVM_HITTEST = TV_FIRST + 17 TVM_CREATEDRAGIMAGE = TV_FIRST + 18 TVM_SORTCHILDREN = TV_FIRST + 19 TVM_ENSUREVISIBLE = TV_FIRST + 20 TVM_SORTCHILDRENCB = TV_FIRST + 21 TVM_ENDEDITLABELNOW = TV_FIRST + 22 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 ; Tree view notifications 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_GETINFOTIPA = TVN_FIRST - 13 TVN_GETINFOTIPW = TVN_FIRST - 14 TVN_SINGLEEXPAND = TVN_FIRST - 15 TVN_ITEMCHANGINGA = TVN_FIRST - 16 TVN_ITEMCHANGINGW = TVN_FIRST - 17 TVN_ITEMCHANGEDA = TVN_FIRST - 18 TVN_ITEMCHANGEDW = TVN_FIRST - 19 TVN_ASYNCDRAW = TVN_FIRST - 20 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 shortnames \ TVM_EDITLABEL,\ TVM_GETISEARCHSTRING,\ TVM_GETITEM,\ TVM_INSERTITEM,\ TVM_SETITEM,\ TVN_BEGINDRAG,\ TVN_BEGINLABELEDIT,\ TVN_BEGINRDRAG,\ TVN_DELETEITEM,\ TVN_ENDLABELEDIT,\ TVN_GETDISPINFO,\ TVN_GETINFOTIP,\ TVN_ITEMCHANGED,\ TVN_ITEMCHANGING,\ TVN_ITEMEXPANDED,\ TVN_ITEMEXPANDING,\ TVN_SELCHANGED,\ TVN_SELCHANGING,\ TVN_SETDISPINFO ;====== COMBOBOXEX CONTROL =================================================== ; ComboBoxEx item structure members flags CBEIF_TEXT = $00000001 CBEIF_IMAGE = $00000002 CBEIF_SELECTEDIMAGE = $00000004 CBEIF_OVERLAY = $00000008 CBEIF_INDENT = $00000010 CBEIF_LPARAM = $00000020 CBEIF_DI_SETITEM = $10000000 CBES_EX_NOEDITIMAGE = $00000001 CBES_EX_NOEDITIMAGEINDENT = $00000002 CBES_EX_PATHWORDBREAKPROC = $00000004 CBES_EX_NOSIZELIMIT = $00000008 CBES_EX_CASESENSITIVE = $00000010 CBES_EX_TEXTENDELLIPSIS = $00000020 CBENF_KILLFOCUS = 1 CBENF_RETURN = 2 CBENF_ESCAPE = 3 CBENF_DROPDOWN = 4 ; ComboBoxEx messages CBEM_INSERTITEMA = WM_USER + 1 CBEM_SETIMAGELIST = WM_USER + 2 CBEM_GETIMAGELIST = WM_USER + 3 CBEM_GETITEMA = WM_USER + 4 CBEM_SETITEMA = WM_USER + 5 CBEM_GETCOMBOCONTROL = WM_USER + 6 CBEM_GETEDITCONTROL = WM_USER + 7 CBEM_SETEXSTYLE = WM_USER + 8 CBEM_GETEXSTYLE = WM_USER + 9 CBEM_GETEXTENDEDSTYLE = WM_USER + 9 CBEM_HASEDITCHANGED = WM_USER + 10 CBEM_INSERTITEMW = WM_USER + 11 CBEM_SETITEMW = WM_USER + 12 CBEM_GETITEMW = WM_USER + 13 CBEM_SETEXTENDEDSTYLE = WM_USER + 14 ; ComboBoxEx notifications CBEN_GETDISPINFOA = CBEN_FIRST - 0 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 CBEN_GETDISPINFOW = CBEN_FIRST - 7 CBEN_DRAGBEGINA = CBEN_FIRST - 8 CBEN_DRAGBEGINW = CBEN_FIRST - 9 shortnames \ CBEM_GETITEM,\ CBEM_INSERTITEM,\ CBEM_SETITEM,\ CBEN_DRAGBEGIN,\ CBEN_ENDEDIT,\ CBEN_GETDISPINFO ;====== TAB CONTROL ========================================================== ; Tab control styles TCS_TABS = $0000 TCS_SINGLELINE = $0000 TCS_RIGHTJUSTIFY = $0000 TCS_SCROLLOPPOSITE = $0001 TCS_BOTTOM = $0002 TCS_RIGHT = $0002 TCS_MULTISELECT = $0004 TCS_FLATBUTTONS = $0008 TCS_FORCEICONLEFT = $0010 TCS_FORCELABELLEFT = $0020 TCS_HOTTRACK = $0040 TCS_VERTICAL = $0080 TCS_BUTTONS = $0100 TCS_MULTILINE = $0200 TCS_FIXEDWIDTH = $0400 TCS_RAGGEDRIGHT = $0800 TCS_FOCUSONBUTTONDOWN = $1000 TCS_OWNERDRAWFIXED = $2000 TCS_TOOLTIPS = $4000 TCS_FOCUSNEVER = $8000 ; Tab control exstyles TCS_EX_FLATSEPARATORS = 1 TCS_EX_REGISTERDROP = 2 ; Tab control item structure members flags TCIF_TEXT = $0001 TCIF_IMAGE = $0002 TCIF_RTLREADING = $0004 TCIF_PARAM = $0008 TCIF_STATE = $0010 ; Tab control item states TCIS_BUTTONPRESSED = 1 TCIS_HIGHLIGHTED = 2 ; Tab control hit test flags TCHT_NOWHERE = 1 TCHT_ONITEMICON = 2 TCHT_ONITEMLABEL = 4 TCHT_ONITEM = TCHT_ONITEMICON or TCHT_ONITEMLABEL ; Tab control messages TCM_GETIMAGELIST = TCM_FIRST + 2 TCM_SETIMAGELIST = TCM_FIRST + 3 TCM_GETITEMCOUNT = TCM_FIRST + 4 TCM_GETITEMA = TCM_FIRST + 5 TCM_SETITEMA = TCM_FIRST + 6 TCM_INSERTITEMA = TCM_FIRST + 7 TCM_DELETEITEM = TCM_FIRST + 8 TCM_DELETEALLITEMS = TCM_FIRST + 9 TCM_GETITEMRECT = TCM_FIRST + 10 TCM_GETCURSEL = TCM_FIRST + 11 TCM_SETCURSEL = TCM_FIRST + 12 TCM_HITTEST = TCM_FIRST + 13 TCM_SETITEMEXTRA = TCM_FIRST + 14 TCM_ADJUSTRECT = TCM_FIRST + 40 TCM_SETITEMSIZE = TCM_FIRST + 41 TCM_REMOVEIMAGE = TCM_FIRST + 42 TCM_SETPADDING = TCM_FIRST + 43 TCM_GETROWCOUNT = TCM_FIRST + 44 TCM_GETTOOLTIPS = TCM_FIRST + 45 TCM_SETTOOLTIPS = TCM_FIRST + 46 TCM_GETCURFOCUS = TCM_FIRST + 47 TCM_SETCURFOCUS = TCM_FIRST + 48 TCM_SETMINTABWIDTH = TCM_FIRST + 49 TCM_DESELECTALL = TCM_FIRST + 50 TCM_HIGHLIGHTITEM = TCM_FIRST + 51 TCM_SETEXTENDEDSTYLE = TCM_FIRST + 52 TCM_GETEXTENDEDSTYLE = TCM_FIRST + 53 TCM_GETITEMW = TCM_FIRST + 60 TCM_SETITEMW = TCM_FIRST + 61 TCM_INSERTITEMW = TCM_FIRST + 62 ; Tab control notifications TCN_KEYDOWN = TCN_FIRST - 0 TCN_SELCHANGE = TCN_FIRST - 1 TCN_SELCHANGING = TCN_FIRST - 2 TCN_GETOBJECT = TCN_FIRST - 3 TCN_FOCUSCHANGE = TCN_FIRST - 4 shortnames \ TCM_GETITEM,\ TCM_INSERTITEM,\ TCM_SETITEM ;====== ANIMATE CONTROL ====================================================== ; Animation control styles ACS_CENTER = 1 ACS_TRANSPARENT = 2 ACS_AUTOPLAY = 4 ACS_TIMER = 8 ; Animation control messages 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 ; Animation control notifications ACN_START = 1 ACN_STOP = 2 shortnames \ ACM_OPEN ;====== MONTHCAL CONTROL ====================================================== ; Month calendar styles MCS_DAYSTATE = $0001 MCS_MULTISELECT = $0002 MCS_WEEKNUMBERS = $0004 MCS_NOTODAYCIRCLE = $0008 MCS_NOTODAY = $0010 MCS_NOTRAILINGDATES = $0040 MCS_SHORTDAYSOFWEEK = $0080 MCS_NOSELCHANGEONNAV = $0100 ; Month calendar color codes MCSC_BACKGROUND = 0 MCSC_TEXT = 1 MCSC_TITLEBK = 2 MCSC_TITLETEXT = 3 MCSC_MONTHBK = 4 MCSC_TRAILINGTEXT = 5 MCMV_MONTH = 0 MCMV_YEAR = 1 MCMV_DECADE = 2 MCMV_CENTURY = 3 MCMV_MAX = MCMV_CENTURY MCGIP_CALENDARCONTROL = 0 MCGIP_NEXT = 1 MCGIP_PREV = 2 MCGIP_FOOTER = 3 MCGIP_CALENDAR = 4 MCGIP_CALENDARHEADER = 5 MCGIP_CALENDARBODY = 6 MCGIP_CALENDARROW = 7 MCGIP_CALENDARCELL = 8 MCGIF_DATE = 1 MCGIF_RECT = 2 MCGIF_NAME = 4 GMR_VISIBLE = 0 GMR_DAYSTATE = 1 ; Month calendar hit test flags MCHT_NOWHERE = $00000000 MCHT_TITLE = $00010000 MCHT_CALENDAR = $00020000 MCHT_TODAYLINK = $00030000 MCHT_NEXT = $01000000 MCHT_PREV = $02000000 MCHT_TITLEBK = MCHT_TITLE MCHT_TITLEMONTH = MCHT_TITLE or 1 MCHT_TITLEYEAR = MCHT_TITLE or 2 MCHT_TITLEBTNNEXT = MCHT_TITLE or MCHT_NEXT or 3 MCHT_TITLEBTNPREV = MCHT_TITLE or MCHT_PREV or 3 MCHT_CALENDARBK = MCHT_CALENDAR MCHT_CALENDARDATE = MCHT_CALENDAR or 1 MCHT_CALENDARDATENEXT = MCHT_CALENDARDATE or MCHT_NEXT MCHT_CALENDARDATEPREV = MCHT_CALENDARDATE or MCHT_PREV MCHT_CALENDARDAY = MCHT_CALENDAR or 2 MCHT_CALENDARWEEKNUM = MCHT_CALENDAR or 3 MCHT_CALENDARDATEMIN = MCHT_CALENDAR or 4 MCHT_CALENDARDATEMAX = MCHT_CALENDAR or 5 ; Month calendar messages MCM_GETCURSEL = MCM_FIRST + 1 MCM_SETCURSEL = MCM_FIRST + 2 MCM_GETMAXSELCOUNT = MCM_FIRST + 3 MCM_SETMAXSELCOUNT = MCM_FIRST + 4 MCM_GETSELRANGE = MCM_FIRST + 5 MCM_SETSELRANGE = MCM_FIRST + 6 MCM_GETMONTHRANGE = MCM_FIRST + 7 MCM_SETDAYSTATE = MCM_FIRST + 8 MCM_GETMINREQRECT = MCM_FIRST + 9 MCM_SETCOLOR = MCM_FIRST + 10 MCM_GETCOLOR = MCM_FIRST + 11 MCM_SETTODAY = MCM_FIRST + 12 MCM_GETTODAY = MCM_FIRST + 13 MCM_HITTEST = MCM_FIRST + 14 MCM_SETFIRSTDAYOFWEEK = MCM_FIRST + 15 MCM_GETFIRSTDAYOFWEEK = MCM_FIRST + 16 MCM_GETRANGE = MCM_FIRST + 17 MCM_SETRANGE = MCM_FIRST + 18 MCM_GETMONTHDELTA = MCM_FIRST + 19 MCM_SETMONTHDELTA = MCM_FIRST + 20 MCM_GETMAXTODAYWIDTH = MCM_FIRST + 21 MCM_GETCURRENTVIEW = MCM_FIRST + 22 MCM_GETCALENDARCOUNT = MCM_FIRST + 23 MCM_GETCALENDARGRIDINFO = MCM_FIRST + 24 MCM_GETCALID = MCM_FIRST + 27 MCM_SETCALID = MCM_FIRST + 28 MCM_SIZERECTTOMIN = MCM_FIRST + 29 MCM_SETCALENDARBORDER = MCM_FIRST + 30 MCM_GETCALENDARBORDER = MCM_FIRST + 31 MCM_SETCURRENTVIEW = MCM_FIRST + 32 ; Month calendar notifications MCN_SELECT = MCN_FIRST MCN_GETDAYSTATE = MCN_FIRST - 1 MCN_SELCHANGE = MCN_FIRST - 3 MCN_VIEWCHANGE = MCN_FIRST - 4 ;====== DATETIMEPICK CONTROL ================================================== ; Date-time pick control styles DTS_SHORTDATEFORMAT = $0000 DTS_UPDOWN = $0001 DTS_SHOWNONE = $0002 DTS_LONGDATEFORMAT = $0004 DTS_TIMEFORMAT = $0009 DTS_SHORTDATECENTURYFORMAT = $000C DTS_APPCANPARSE = $0010 DTS_RIGHTALIGN = $0020 GDTR_MIN = 1 GDTR_MAX = 2 GDT_ERROR = -1 GDT_VALID = 0 GDT_NONE = 1 ; Date-time pick control messages DTM_GETSYSTEMTIME = DTM_FIRST + 1 DTM_SETSYSTEMTIME = DTM_FIRST + 2 DTM_GETRANGE = DTM_FIRST + 3 DTM_SETRANGE = DTM_FIRST + 4 DTM_SETFORMATA = DTM_FIRST + 5 DTM_SETMCCOLOR = DTM_FIRST + 6 DTM_GETMCCOLOR = DTM_FIRST + 7 DTM_GETMONTHCAL = DTM_FIRST + 8 DTM_SETMCFONT = DTM_FIRST + 9 DTM_GETMCFONT = DTM_FIRST + 10 DTM_SETMCSTYLE = DTM_FIRST + 11 DTM_GETMCSTYLE = DTM_FIRST + 12 DTM_CLOSEMONTHCAL = DTM_FIRST + 13 DTM_GETDATETIMEPICKERINFO = DTM_FIRST + 14 DTM_GETIDEALSIZE = DTM_FIRST + 15 DTM_SETFORMATW = DTM_FIRST + 50 ; Date-time pick control notifications DTN_DATETIMECHANGE = DTN_FIRST2 - 6 DTN_USERSTRINGA = DTN_FIRST2 - 5 DTN_WMKEYDOWNA = DTN_FIRST2 - 4 DTN_FORMATA = DTN_FIRST2 - 3 DTN_FORMATQUERYA = DTN_FIRST2 - 2 DTN_DROPDOWN = DTN_FIRST2 - 1 DTN_CLOSEUP = DTN_FIRST2 DTN_USERSTRINGW = DTN_FIRST - 5 DTN_WMKEYDOWNW = DTN_FIRST - 4 DTN_FORMATW = DTN_FIRST - 3 DTN_FORMATQUERYW = DTN_FIRST - 2 shortnames \ DTM_SETFORMAT,\ DTN_FORMAT,\ DTN_FORMATQUERY,\ DTN_USERSTRING,\ DTN_WMKEYDOWN ;====== IP ADDRESS EDIT CONTROL =============================================== ; IP control messages 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 ;====== PAGER CONTROL ========================================================= ; Pager control styles PGS_VERT = 0 PGS_HORZ = 1 PGS_AUTOSCROLL = 2 PGS_DRAGNDROP = 4 ; Pager button state PGF_INVISIBLE = 0 PGF_NORMAL = 1 PGF_GRAYED = 2 PGF_DEPRESSED = 4 PGF_HOT = 8 PGB_TOPORLEFT = 0 PGB_BOTTOMORRIGHT = 1 PGF_SCROLLUP = 1 PGF_SCROLLDOWN = 2 PGF_SCROLLLEFT = 4 PGF_SCROLLRIGHT = 8 PGK_SHIFT = 1 PGK_CONTROL = 2 PGK_MENU = 4 PGF_CALCWIDTH = 1 PGF_CALCHEIGHT = 2 ; Pager control messages PGM_SETCHILD = PGM_FIRST + 1 PGM_RECALCSIZE = PGM_FIRST + 2 PGM_FORWARDMOUSE = PGM_FIRST + 3 PGM_SETBKCOLOR = PGM_FIRST + 4 PGM_GETBKCOLOR = PGM_FIRST + 5 PGM_SETBORDER = PGM_FIRST + 6 PGM_GETBORDER = PGM_FIRST + 7 PGM_SETPOS = PGM_FIRST + 8 PGM_GETPOS = PGM_FIRST + 9 PGM_SETBUTTONSIZE = PGM_FIRST + 10 PGM_GETBUTTONSIZE = PGM_FIRST + 11 PGM_GETBUTTONSTATE = PGM_FIRST + 12 PGM_SETSCROLLINFO = PGM_FIRST + 13 ; Pager control notifications PGN_SCROLL = PGN_FIRST - 1 PGN_CALCSIZE = PGN_FIRST - 2 PGN_HOTITEMCHANGE = PGN_FIRST - 3 ;====== NATIVE FONT CONTROL =================================================== ; Native Font styles NFS_EDIT = $0001 NFS_STATIC = $0002 NFS_LISTCOMBO = $0004 NFS_BUTTON = $0008 NFS_ALL = $0010 NFS_USEFONTASSOC = $0020 ;====================== Button Control ======================================== ; Button styles BS_SPLITBUTTON = $0000000C BS_DEFSPLITBUTTON = $0000000D BS_COMMANDLINK = $0000000E BS_DEFCOMMANDLINK = $0000000F ; Split Button info structure members flags BCSIF_GLYPH = $0001 BCSIF_IMAGE = $0002 BCSIF_STYLE = $0004 BCSIF_SIZE = $0008 ; Split Button style flags BCSS_NOSPLIT = $0001 BCSS_STRETCH = $0002 BCSS_ALIGNLEFT = $0004 BCSS_IMAGE = $0008 BUTTON_IMAGELIST_ALIGN_LEFT = 0 BUTTON_IMAGELIST_ALIGN_RIGHT = 1 BUTTON_IMAGELIST_ALIGN_TOP = 2 BUTTON_IMAGELIST_ALIGN_BOTTOM = 3 BUTTON_IMAGELIST_ALIGN_CENTER = 4 BST_HOT = $0200 BST_DROPDOWNPUSHED = $0400 BCCL_NOGLYPH = -1 ; Button control messages BCM_GETIDEALSIZE = BCM_FIRST + 1 BCM_SETIMAGELIST = BCM_FIRST + 2 BCM_GETIMAGELIST = BCM_FIRST + 3 BCM_SETTEXTMARGIN = BCM_FIRST + 4 BCM_GETTEXTMARGIN = BCM_FIRST + 5 BCM_SETDROPDOWNSTATE = BCM_FIRST + 6 BCM_SETSPLITINFO = BCM_FIRST + 7 BCM_GETSPLITINFO = BCM_FIRST + 8 BCM_SETNOTE = BCM_FIRST + 9 BCM_GETNOTE = BCM_FIRST + 10 BCM_GETNOTELENGTH = BCM_FIRST + 11 BCM_SETSHIELD = BCM_FIRST + 12 ; Button control notifications BCN_HOTITEMCHANGE = BCN_FIRST + 1 BCN_DROPDOWN = BCN_FIRST + 2 ;====================== Static Control ======================================== ;====================== Edit Control ========================================== ; Edit Control messages EM_SETCUEBANNER = ECM_FIRST + 1 EM_GETCUEBANNER = ECM_FIRST + 2 EM_SHOWBALLOONTIP = ECM_FIRST + 3 EM_HIDEBALLOONTIP = ECM_FIRST + 4 EM_SETHILITE = ECM_FIRST + 5 EM_GETHILITE = ECM_FIRST + 6 EM_NOSETFOCUS = ECM_FIRST + 7 EM_TAKEFOCUS = ECM_FIRST + 8 ;====================== Listbox Control ======================================= ;====================== Combobox Control ====================================== ; Combobox messages CB_SETMINVISIBLE = CBM_FIRST + 1 CB_GETMINVISIBLE = CBM_FIRST + 2 CB_SETCUEBANNER = CBM_FIRST + 3 CB_GETCUEBANNER = CBM_FIRST + 4 ;====================== Scrollbar Control ===================================== ;===================== Task Dialog ============================================ ; Task Dialog flags TDF_ENABLE_HYPERLINKS = $00000001 TDF_USE_HICON_MAIN = $00000002 TDF_USE_HICON_FOOTER = $00000004 TDF_ALLOW_DIALOG_CANCELLATION = $00000008 TDF_USE_COMMAND_LINKS = $00000010 TDF_USE_COMMAND_LINKS_NO_ICON = $00000020 TDF_EXPAND_FOOTER_AREA = $00000040 TDF_EXPANDED_BY_DEFAULT = $00000080 TDF_VERIFICATION_FLAG_CHECKED = $00000100 TDF_SHOW_PROGRESS_BAR = $00000200 TDF_SHOW_MARQUEE_PROGRESS_BAR = $00000400 TDF_CALLBACK_TIMER = $00000800 TDF_POSITION_RELATIVE_TO_WINDOW = $00001000 TDF_RTL_LAYOUT = $00002000 TDF_NO_DEFAULT_RADIO_BUTTON = $00004000 TDF_CAN_BE_MINIMIZED = $00008000 TDF_NO_SET_FOREGROUND = $00010000 TDF_SIZE_TO_CONTENT = $01000000 TD_WARNING_ICON = -1 TD_ERROR_ICON = -2 TD_INFORMATION_ICON = -3 TD_SHIELD_ICON = -4 ; Task Dialog common button flags TDCBF_OK_BUTTON = $0001 TDCBF_YES_BUTTON = $0002 TDCBF_NO_BUTTON = $0004 TDCBF_CANCEL_BUTTON = $0008 TDCBF_RETRY_BUTTON = $0010 TDCBF_CLOSE_BUTTON = $0020 ; Task Dialog messages TDM_NAVIGATE_PAGE = WM_USER+101 TDM_CLICK_BUTTON = WM_USER+102 TDM_SET_MARQUEE_PROGRESS_BAR = WM_USER+103 TDM_SET_PROGRESS_BAR_STATE = WM_USER+104 TDM_SET_PROGRESS_BAR_RANGE = WM_USER+105 TDM_SET_PROGRESS_BAR_POS = WM_USER+106 TDM_SET_PROGRESS_BAR_MARQUEE = WM_USER+107 TDM_SET_ELEMENT_TEXT = WM_USER+108 TDM_CLICK_RADIO_BUTTON = WM_USER+110 TDM_ENABLE_BUTTON = WM_USER+111 TDM_ENABLE_RADIO_BUTTON = WM_USER+112 TDM_CLICK_VERIFICATION = WM_USER+113 TDM_UPDATE_ELEMENT_TEXT = WM_USER+114 TDM_SET_BUTTON_ELEVATION_REQUIRED_STATE = WM_USER+115 TDM_UPDATE_ICON = WM_USER+116 ; Task Dialog notifications TDN_CREATED = 0 TDN_NAVIGATED = 1 TDN_BUTTON_CLICKED = 2 TDN_HYPERLINK_CLICKED = 3 TDN_TIMER = 4 TDN_DESTROYED = 5 TDN_RADIO_BUTTON_CLICKED = 6 TDN_DIALOG_CONSTRUCTED = 7 TDN_VERIFICATION_CLICKED = 8 TDN_HELP = 9 TDN_EXPANDO_BUTTON_CLICKED = 10 And one messege in fasm official package had wrong name (last symbol S missed in name) - I don`t remember what exactly. When I translate this header from C++ to fasm I could make mistakes too. maybe someone suggests name for macro: by analogy with api targeted for import names Code: macro api [name] { if used name label name dword at name#A end if } macro for simplifiing constant encoding variations (I used name shortnames for it) Code: macro shortnames [name] { name = name#A } ;which will do same thing for message & notification codes |
|||
18 Oct 2020, 21:00 |
|
bitRAKE 19 Oct 2020, 16:26
Might be better to adopt the Win10 PSDK naming of "CommCtrl" instead of the previous 32/64 naming - considering you are going for a more neutral translation.
Code: struct INITCOMMONCONTROLSEX dwSize rd 1 dwICC rd 1 end struct _________________ ¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup |
|||
19 Oct 2020, 16:26 |
|
ProMiNick 19 Oct 2020, 20:16
In my personal package I split constant & structs. So constants header has no 32/64 suffix.
But naming still COMCTL. COMMCTRL name associated explicity with win16 subsystem, while COMCTL with at least win32 one. I forget word alias, so for above macro better name 'shortaliases' - macro meaning is intuitive by its name, and word alias would remain free. If I found anywhere Quote: INITCOMMONCONTROLSEX.dwICC of $80000000 when some constants could require altering I used one I predefined in headers sizeof.PTR =4/8, sizeof.TCHAR = 1/2, so Code: %isWin64% equ (sizeof.PTR eq 8) %isUnicode% equ (sizeof.TCHAR eq 2) |
|||
19 Oct 2020, 20:16 |
|
bitRAKE 20 Oct 2020, 01:04
Seems like a very flexible setup.
|
|||
20 Oct 2020, 01:04 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.