////////////////////////////////////////////////////////////////////////////// COMMCTRLEX // ////////////////////////////////////////////////////////////////////////////// Enhanced COMMCTRL for D2 // * some constants and functions forgoten by Borland,... // ////////////////////////////////////////////////////////////////////////////// Version 1.2 // Date de création : 10/03/1997 // Date dernière modification : 20/10/1997 // ////////////////////////////////////////////////////////////////////////////// Jean-Luc Mattei // jlucm@club-internet.fr // ////////////////////////////////////////////////////////////////////////////// REVISIONS : // // 1.1 : // * Added (some) IE4 TabControl constants // 1.2 : // * Some IE4 TAB CONTROL declarations where missing // (thanks to Gerhard Volk) // 1.3 : * PageScroller const, type & func // * NativeFontControl const, type & func // //////////////////////////////////////////////////////////////////////////////
DateTime_GetMonthCal - SNDMSG(hdp, DTM_GETMCCOLOR, iColor, 0) HWND DateTime_GetMonthCal(HWND hdp) returns the HWND of the MonthCal popup window.
DateTime_GetMonthCalColor - SNDMSG(hdp, DTM_SETMCCOLOR, iColor, clr
DateTime_GetMonthCalFont - SNDMSG(hdp, DTM_SETMCFONT, (WPARAM)hfont, (LPARAM)fRedraw
DateTime_GetRange - (BOOL)SNDMSG(hdp, DTM_SETSYSTEMTIME, (LPARAM)(gd), (LPARAM)(pst)) DWORD DateTime_GetRange(HWND hdp, LPSYSTEMTIME rgst) modifies rgst[0] to be the minimum ALLOWABLE systemtime (or 0 if no minimum) modifies rgst[1] to be the maximum ALLOWABLE systemtime (or 0 if no maximum) returns GDTR_MIN|GDTR_MAX if there is a minimum|maximum limit
DateTime_GetSystemtime - DWORD DateTimePick_GetSystemtime(HWND hdp, LPSYSTEMTIME pst) returns GDT_NONE if "none" is selected (DTS_SHOWNONE only) returns GDT_VALID and modifies *pst to be the currently selected value
DateTime_SetFormat -
DateTime_SetFormatA - (BOOL)SNDMSG(hdp, DTM_SETRANGE, (WPARAM)(gd), (LPARAM)(rgst)) BOOL DateTime_SetFormat(HWND hdp, LPCTSTR sz) sets the display formatting string to sz (see GetDateFormat and GetTimeFormat for valid formatting chars) NOTE: 'X' is a valid formatting character which indicates that the application will determine how to display information.
DateTime_SetFormatW -
DateTime_SetMonthCalColor - (BOOL)SNDMSG(hdp, DTM_SETFORMAT, 0, (LPARAM)(sz
DateTime_SetMonthCalFont - (HWND)SNDMSG(hdp, DTM_GETMONTHCAL, 0, 0
DateTime_SetRange - (DWORD)SNDMSG(hdp, DTM_GETRANGE, 0, (LPARAM)(rgst)) BOOL DateTime_SetRange(HWND hdp, DWORD gdtr, LPSYSTEMTIME rgst) if GDTR_MIN, sets the minimum ALLOWABLE systemtime to rgst[0], otherwise removes minimum if GDTR_MAX, sets the maximum ALLOWABLE systemtime to rgst[1], otherwise removes maximum returns TRUE on success, FALSE on error (such as invalid parameters
DateTime_SetSystemtime - (DWORD)SNDMSG(hdp, DTM_GETSYSTEMTIME, 0, (LPARAM)(pst)) BOOL DateTime_SetSystemtime(HWND hdp, DWORD gd, LPSYSTEMTIME pst) if gd==GDT_NONE, sets datetimepick to None (DTS_SHOWNONE only) if gd==GDT_VALID, sets datetimepick to *pst returns TRUE on success, FALSE on error (such as bad params
First_IPAdress - #define MAKEIPADDRESS(b1,b2,b3,b4) ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4)))) Get individual number
Fourth_IPAdress - #define THIRD_IPADDRESS(x) ((x>>8) & 0xff
InitComboExCommonControlEx -
InitCommonControlsEx - native font control
#define FOURTH_IPADDRESS(x) (x & 0xff
InitCoolBarCommonControlEx -
InitIPAdressCommonControlEx -
InitPickerCommonControlEx -
InitTabCommonControlEx -
InitToolBarCommonControlEx -
MakeIPAdress - #define MAKEIPRANGE(low, high) ((LPARAM)(WORD)(((BYTE)(high) << 8) + (BYTE)(low))) And this is a useful macro for making the IP Address to be passed as a LPARAM.
MakeIPRange - The following is a useful macro for passing the range values in the IPM_SETRANGE message.
MonthCal_GetColor -
MonthCal_GetCurSel - BOOL MonthCal_GetCurSel(HWND hmc, LPSYSTEMTIME pst) returns FALSE if MCS_MULTISELECT returns TRUE and sets *pst to the currently selected date otherwise
MonthCal_GetFirstDayOfWeek - SNDMSG(hmc, MCM_SETFIRSTDAYOFWEEK, 0, iDay) DWORD result.
MonthCal_GetMaxSelCount - (BOOL)SNDMSG(hmc, MCM_SETCURSEL, 0, (LPARAM)(pst)) DWORD MonthCal_GetMaxSelCount(HWND hmc) returns the maximum number of selectable days allowed
MonthCal_GetMinReqRect - SNDMSG(hmc, MCM_SETDAYSTATE, (WPARAM)(cbds), (LPARAM)(rgds)) BOOL MonthCal_GetMinReqRect(HWND hmc, LPRECT prc) sets *prc the minimal size needed to display one month
MonthCal_GetMonthDelta - (BOOL)SNDMSG(hmc, MCM_SETRANGE, (WPARAM)(gd), (LPARAM)(rgst)) int MonthCal_GetMonthDelta(HWND hmc) returns the number of months one click on a next/prev button moves by
MonthCal_GetMonthRange - SNDMSG(hmc, MCM_SETSELRANGE, 0, (LPARAM)(rgst)) DWORD MonthCal_GetMonthRange(HWND hmc, DWORD gmr, LPSYSTEMTIME rgst) if rgst specified, sets rgst[0] to the starting date and and rgst[1] to the ending date of the the selectable (non-grayed) days if GMR_VISIBLE or all the displayed days (including grayed) if GMR_DAYSTATE.
MonthCal_GetRange - (DWORD)SNDMSG(hmc, MCM_GETFIRSTDAYOFWEEK, 0, 0) DWORD MonthCal_GetRange(HWND hmc, LPSYSTEMTIME rgst) modifies rgst[0] to be the minimum ALLOWABLE systemtime (or 0 if no minimum) modifies rgst[1] to be the maximum ALLOWABLE systemtime (or 0 if no maximum) returns GDTR_MIN|GDTR_MAX if there is a minimum|maximum limit
MonthCal_GetSelRange - (BOOL)SNDMSG(hmc, MCM_SETMAXSELCOUNT, (WPARAM)(n), 0L) BOOL MonthCal_GetSelRange(HWND hmc, LPSYSTEMTIME rgst) sets rgst[0] to the first day of the selection range sets rgst[1] to the last day of the selection range
MonthCal_GetToday - SNDMSG(hmc, MCM_SETTODAY, 0, (LPARAM)pst) get what day is "today" returns BOOL for success/failure
MonthCal_HitTest - (BOOL)SNDMSG(hmc, MCM_GETTODAY, 0, (LPARAM)pst) determine what pinfo->pt is over
MonthCal_SetColor -
MonthCal_SetCurSel - (BOOL)SNDMSG(hmc, MCM_GETCURSEL, 0, (LPARAM)(pst)) BOOL MonthCal_SetCurSel(HWND hmc, LPSYSTEMTIME pst) returns FALSE if MCS_MULTISELECT returns TURE and sets the currently selected date to *pst otherwise
MonthCal_SetDayState - (DWORD)SNDMSG(hmc, MCM_GETMONTHRANGE, (WPARAM)(gmr), (LPARAM)(rgst)) BOOL MonthCal_SetDayState(HWND hmc, int cbds, DAYSTATE *rgds) cbds is the count of DAYSTATE items in rgds and it must be equal to the value returned from MonthCal_GetMonthRange(hmc, GMR_DAYSTATE, NULL) This sets the DAYSTATE bits for each month (grayed and non-grayed days) displayed in the calendar.
MonthCal_SetFirstDayOfWeek -
MonthCal_SetMaxSelCount - (DWORD)SNDMSG(hmc, MCM_GETMAXSELCOUNT, 0, 0L) BOOL MonthCal_SetMaxSelCount(HWND hmc, UINT n) sets the max number days that can be selected iff MCS_MULTISELECT
MonthCal_SetMonthDelta - (int)SNDMSG(hmc, MCM_GETMONTHDELTA, 0, 0) int MonthCal_SetMonthDelta(HWND hmc, int n) sets the month delta to n.
MonthCal_SetRange - (DWORD)SNDMSG(hmc, MCM_GETRANGE, 0, (LPARAM)(rgst)) BOOL MonthCal_SetRange(HWND hmc, DWORD gdtr, LPSYSTEMTIME rgst) if GDTR_MIN, sets the minimum ALLOWABLE systemtime to rgst[0], otherwise removes minimum if GDTR_MAX, sets the maximum ALLOWABLE systemtime to rgst[1], otherwise removes maximum returns TRUE on success, FALSE on error (such as invalid parameters
MonthCal_SetSelRange - SNDMSG(hmc, MCM_GETSELRANGE, 0, (LPARAM)(rgst)) BOOL MonthCal_SetSelRange(HWND hmc, LPSYSTEMTIME rgst) selects the range of days from rgst[0] to rgst[1]
MonthCal_SetToday - SNDMSG(hmc, MCM_GETMINREQRECT, 0, (LPARAM)(prc)) set what day is "today" send NULL to revert back to real date
Second_IPAdress - #define FIRST_IPADDRESS(x) ((x>>24) & 0xff
TabCtrl_GetExtendedStyle - (DWORD)SNDMSG((hwnd), TCM_SETEXTENDEDSTYLE, 0, dw
TabCtrl_HighlightItem -
TabCtrl_SetExtendedStyle - (BOOL)SNDMSG((hwnd), TCM_HIGHLIGHTITEM, (WPARAM)i, (LPARAM)MAKELONG (fHighlight, 0
Third_IPAdress - #define SECOND_IPADDRESS(x) ((x>>16) & 0xff
_TrackMouseEvent - Declare _TrackMouseEvent.
PComboBoxExItem
PComboBoxExItemA
PComboBoxExItemW
PMCHitTestInfo
PMonthDayState
PNMCBEEndEdit
PNMCBEEndEditA
PNMCBEEndEditW
PNMComboBoxEx
PNMComboBoxExA
PNMComboBoxExW
PNMCustomDrawInfo
PNMDateTimeChange
PNMDateTimeFormat
PNMDateTimeFormatA
PNMDateTimeFormatQuery
PNMDateTimeFormatQueryA
PNMDateTimeFormatQueryW
PNMDateTimeFormatW
PNMDateTimeString
PNMDateTimeStringA
PNMDateTimeStringW
PNMDateTimeWMKeyDown
PNMDateTimeWMKeyDownA
PNMDateTimeWMKeyDownW
PNMDayState
PNMIPAdress
PNMLVCustomDraw
PNMSelChange
PNMSelect
PRebarBandInfo
PRebarBandInfoA
PRebarBandInfoW
PRebarInfo
PTBNotify
PTBNotifyA
PTBNotifyW
PTBReplaceBitmap
PTrackMouseEvent
SystemTime
TComboBoxExItem
TComboBoxExItemA
TComboBoxExItemW
TInitCommonControlsEx
TMCHitTestInfo
TMonthDayState
TNMCBEEndEdit
TNMCBEEndEditA
TNMCBEEndEditW
TNMComboBoxEx
TNMComboBoxExA
TNMComboBoxExW
TNMCustomDrawInfo
TNMDateTimeChange
TNMDateTimeFormat
TNMDateTimeFormatA
TNMDateTimeFormatQuery
TNMDateTimeFormatQueryA
TNMDateTimeFormatQueryW
TNMDateTimeFormatW
TNMDateTimeString
TNMDateTimeStringA
TNMDateTimeStringW
TNMDateTimeWMKeyDown
TNMDateTimeWMKeyDownA
TNMDateTimeWMKeyDownW
TNMDayState
TNMIPAdress
TNMLVCustomDraw
TNMSelChange
TNMSelect
TRebarBandInfo
TRebarBandInfoA
TRebarBandInfoW
TRebarInfo
TTBNotify
TTBNotifyA
TTBNotifyW
TTBReplaceBitmap
TTrackMouseEvent
CBEIF_DI_SETITEM
CBEIF_IMAGE
CBEIF_INDENT
CBEIF_LPARAM
CBEIF_OVERLAY
CBEIF_SELECTEDIMAGE
CBEIF_TEXT
CBEMAXSTRLEN
CBEM_DELETEITEM
CBEM_GETCOMBOCONTROL
CBEM_GETEDITCONTROL
CBEM_GETEXSTYLE
CBEM_GETIMAGELIST
CBEM_GETITEM
CBEM_GETITEMA
CBEM_GETITEMW
CBEM_HASEDITCHANGED
CBEM_INSERTITEM
CBEM_INSERTITEMA
CBEM_INSERTITEMW
CBEM_SETEXSTYLE
CBEM_SETIMAGELIST
CBEM_SETITEM
CBEM_SETITEMA
CBEM_SETITEMW
CBENF_DROPDOWN
CBENF_ESCAPE
CBENF_KILLFOCUS
CBENF_RETURN
CBEN_BEGINEDIT
CBEN_DELETEITEM
CBEN_ENDEDIT
CBEN_ENDEDITA
CBEN_ENDEDITW
CBEN_FIRST
CBEN_GETDISPINFO
CBEN_INSERTITEM
CBEN_LAST
CBES_EX_NOEDITIMAGE
CBES_EX_NOEDITIMAGEINDENT
CBES_EX_PATHWORDBREAKPROC
CCM_FIRST
CCM_GETCOLORSCHEME
CCM_GETDROPTARGET
CCM_GETUNICODEFORMAT
CCM_SETBKCOLOR
CCM_SETCOLORSCHEME
CCM_SETUNICODEFORMAT
CCS_LEFT
CCS_NOMOVEX
CCS_RIGHT
CCS_VERT
CDDS_ITEM
CDDS_ITEMPOSTERASE
CDDS_ITEMPOSTPAINT
CDDS_ITEMPREERASE
CDDS_ITEMPREPAINT
CDDS_POSTERASE
CDDS_POSTPAINT
CDDS_PREERASE
CDDS_PREPAINT
CDIS_CHECKED
CDIS_DEFAULT
CDIS_DISABLED
CDIS_FOCUS
CDIS_GRAYED
CDIS_HOT
CDIS_SELECTED
CDRF_DODEFAULT
CDRF_NEWFONT
CDRF_NOTIFYITEMDRAW
CDRF_NOTIFYITEMERASE
CDRF_NOTIFYPOSTERASE
CDRF_NOTIFYPOSTPAINT
CDRF_SKIPDEFAULT
DATETIMEPICK_CLASS
DTM_FIRST
DTM_GETMCCOLOR
DTM_GETMCFONT
DTM_GETMONTHCAL
DTM_GETRANGE
DTM_GETSYSTEMTIME
DTM_SETFORMAT
DTM_SETFORMATA
DTM_SETFORMATW
DTM_SETMCCOLOR
DTM_SETMCFONT
DTM_SETRANGE
DTM_SETSYSTEMTIME
DTN_CLOSEUP
DTN_DATETIMECHANGE
DTN_DROPDOWN
DTN_FIRST
DTN_FORMAT
DTN_FORMATA
DTN_FORMATQUERY
DTN_FORMATQUERYA
DTN_FORMATQUERYW
DTN_FORMATW
DTN_LAST
DTN_USERSTRING
DTN_USERSTRINGA
DTN_USERSTRINGW
DTN_WMKEYDOWN
DTN_WMKEYDOWNA
DTN_WMKEYDOWNW
DTS_APPCANPARSE
DTS_LONGDATEFORMAT
DTS_RIGHTALIGN
DTS_SHORTDATEFORMAT
DTS_SHOWNONE
DTS_TIMEFORMAT
DTS_UPDOWN
GDTR_MAX
GDTR_MIN
GDT_ERROR
GDT_NONE
GDT_VALID
GMR_DAYSTATE
GMR_VISIBLE
HOVER_DEFAULT
ICC_ANIMATE_CLASS
ICC_BAR_CLASSES
ICC_COOL_CLASSES
ICC_DATE_CLASSES
ICC_HOTKEY_CLASS
ICC_INTERNET_CLASSES
ICC_LISTVIEW_CLASSES
ICC_NATIVEFNTCTL_CLASS
ICC_PAGESCROLLER_CLASS
ICC_PROGRESS_CLASS
ICC_TAB_CLASSES
ICC_TREEVIEW_CLASSES
ICC_UPDOWN_CLASS
ICC_USEREX_CLASSES
ICC_WIN95_CLASSES
IDB_HIST_LARGE_COLOR
IDB_HIST_SMALL_COLOR
IPM_CLEARADDRESS
IPM_GETADDRESS
IPM_ISBLANK
IPM_SETADDRESS
IPM_SETFOCUS
IPM_SETRANGE
IPN_FIELDCHANGED
IPN_FIRST
IPN_LAST
MCHT_CALENDAR
MCHT_CALENDARBK
MCHT_CALENDARDATE
MCHT_CALENDARDATENEXT
MCHT_CALENDARDATEPREV
MCHT_CALENDARDAY
MCHT_CALENDARWEEKNUM
MCHT_NEXT
MCHT_NOWHERE
MCHT_PREV
MCHT_TITLE
MCHT_TITLEBK
MCHT_TITLEBTNNEXT
MCHT_TITLEBTNPREV
MCHT_TITLEMONTH
MCHT_TITLEYEAR
MCHT_TODAYLINK
MCM_FIRST
MCM_GETCOLOR
MCM_GETCURSEL
MCM_GETFIRSTDAYOFWEEK
MCM_GETMAXSELCOUNT
MCM_GETMINREQRECT
MCM_GETMONTHDELTA
MCM_GETMONTHRANGE
MCM_GETRANGE
MCM_GETSELRANGE
MCM_GETTODAY
MCM_HITTEST
MCM_SETCOLOR
MCM_SETCURSEL
MCM_SETDAYSTATE
MCM_SETFIRSTDAYOFWEEK
MCM_SETMAXSELCOUNT
MCM_SETMONTHDELTA
MCM_SETRANGE
MCM_SETSELRANGE
MCM_SETTODAY
MCN_FIRST
MCN_GETDAYSTATE
MCN_LAST
MCN_SELCHANGE
MCN_SELECT
MCSC_BACKGROUND
MCSC_MONTHBK
MCSC_TEXT
MCSC_TITLEBK
MCSC_TITLETEXT
MCSC_TRAILINGTEXT
MCS_DAYSTATE
MCS_MULTISELECT
MCS_NOTODAY
MCS_WEEKNUMBERS
MONTHCAL_CLASS
NM_CUSTOMDRAW
NM_HOVER
PGM_FIRST
PGN_FIRST
PGN_LAST
RBBIM_BACKGROUND
RBBIM_CHILD
RBBIM_CHILDSIZE
RBBIM_COLORS
RBBIM_ID
RBBIM_IMAGE
RBBIM_SIZE
RBBIM_STYLE
RBBIM_TEXT
RBBS_BREAK
RBBS_CHILDEDGE
RBBS_FIXEDBMP
RBBS_FIXEDSIZE
RBBS_HIDDEN
RBBS_NOVERT
RBIM_IMAGELIST
RBN_FIRST
RBN_HEIGHTCHANGE
RBN_LAST
RBS_BANDBORDERS
RBS_FIXEDORDER
RBS_TOOLTIPS
RBS_VARHEIGHT
RB_DELETEBAND
RB_GETBANDCOUNT
RB_GETBANDINFO
RB_GETBARINFO
RB_GETROWCOUNT
RB_GETROWHEIGHT
RB_INSERTBAND
RB_INSERTBANDA
RB_INSERTBANDW
RB_SETBANDINFO
RB_SETBANDINFOA
RB_SETBANDINFOW
RB_SETBARINFO
RB_SETPARENT
REBARCLASSNAME
TBN_CLOSEUP
TBN_DROPDOWN
TBSTATE_ELLIPSES
TBSTYLE_CUSTOMERASE
TBSTYLE_DROPDOWN
TBSTYLE_FLAT
TBSTYLE_LIST
TB_GETBUTTONSIZE
TB_GETDISABLEDIMAGELIST
TB_GETHOTIMAGELIST
TB_GETIMAGELIST
TB_GETRECT
TB_GETSTYLE
TB_GETTEXTROWS
TB_LOADIMAGES
TB_REPLACEBITMAP
TB_SETBUTTONWIDTH
TB_SETDISABLEDIMAGELIST
TB_SETHOTIMAGELIST
TB_SETIMAGELIST
TB_SETINDENT
TB_SETMAXTEXTROWS
TB_SETSTYLE
TCIF_RTLREADING
TCIF_STATE
TCIS_BUTTONPRESSED
TCIS_HIGHLIGHTED
TCM_GETEXTENDEDSTYLE
TCM_HIGHLIGHTITEM
TCM_SETEXTENDEDSTYLE
TCN_GETOBJECT
TCS_BOTTOM
TCS_EX_FLATSEPARATORS
TCS_EX_REGISTERDROP
TCS_FLATBUTTONS
TCS_HOTTRACK
TCS_MULTISELECT
TCS_RIGHT
TCS_SCROLLOPPOSITE
TCS_VERTICAL
TME_CANCEL
TME_HOVER
TME_LEAVE
TME_QUERY
WC_COMBOBOXEX
WC_IPADDRESS
WM_MOUSEHOVER
WM_MOUSELEAVE
function DateTime_GetMonthCal(hdp: HWND): HWND;
SNDMSG(hdp, DTM_GETMCCOLOR, iColor, 0) HWND DateTime_GetMonthCal(HWND hdp) returns the HWND of the MonthCal popup window. Only valid between DTN_DROPDOWN and DTN_CLOSEUP notifications.
function DateTime_GetMonthCalColor(hdp: HWND; iColor: Integer): Longint;
SNDMSG(hdp, DTM_SETMCCOLOR, iColor, clr
function DateTime_GetMonthCalFont(hdp: HWND): Longint;
SNDMSG(hdp, DTM_SETMCFONT, (WPARAM)hfont, (LPARAM)fRedraw
function DateTime_GetRange(hdp: HWND; Var rgst: SYSTEMTIME): Integer;
(BOOL)SNDMSG(hdp, DTM_SETSYSTEMTIME, (LPARAM)(gd), (LPARAM)(pst)) DWORD DateTime_GetRange(HWND hdp, LPSYSTEMTIME rgst) modifies rgst[0] to be the minimum ALLOWABLE systemtime (or 0 if no minimum) modifies rgst[1] to be the maximum ALLOWABLE systemtime (or 0 if no maximum) returns GDTR_MIN|GDTR_MAX if there is a minimum|maximum limit
function DateTime_GetSystemtime(hdp: HWND; Var pst: SYSTEMTIME): Integer;
DWORD DateTimePick_GetSystemtime(HWND hdp, LPSYSTEMTIME pst) returns GDT_NONE if "none" is selected (DTS_SHOWNONE only) returns GDT_VALID and modifies *pst to be the currently selected value
function DateTime_SetFormat(hdp: HWND; Var sz : PAnsiChar): Boolean;
function DateTime_SetFormatA(hdp: HWND; Var sz : PAnsiChar): Boolean;
(BOOL)SNDMSG(hdp, DTM_SETRANGE, (WPARAM)(gd), (LPARAM)(rgst)) BOOL DateTime_SetFormat(HWND hdp, LPCTSTR sz) sets the display formatting string to sz (see GetDateFormat and GetTimeFormat for valid formatting chars) NOTE: 'X' is a valid formatting character which indicates that the application will determine how to display information. Such apps must support DTN_WMKEYDOWN, DTN_FORMAT, and DTN_FORMATQUERY.
function DateTime_SetFormatW(hdp: HWND; Var sz : PWideChar): Boolean;
function DateTime_SetMonthCalColor(hdp: HWND; iColor: Integer; clr: TColorRef): Longint;
(BOOL)SNDMSG(hdp, DTM_SETFORMAT, 0, (LPARAM)(sz
function DateTime_SetMonthCalFont(hdp: HWND; hfont: HFONT; fRedraw: Boolean): Longint;
(HWND)SNDMSG(hdp, DTM_GETMONTHCAL, 0, 0
function DateTime_SetRange(hdp: HWND; gd: Integer; Var rgst: SYSTEMTIME): Boolean;
(DWORD)SNDMSG(hdp, DTM_GETRANGE, 0, (LPARAM)(rgst)) BOOL DateTime_SetRange(HWND hdp, DWORD gdtr, LPSYSTEMTIME rgst) if GDTR_MIN, sets the minimum ALLOWABLE systemtime to rgst[0], otherwise removes minimum if GDTR_MAX, sets the maximum ALLOWABLE systemtime to rgst[1], otherwise removes maximum returns TRUE on success, FALSE on error (such as invalid parameters
function DateTime_SetSystemtime(hdp: HWND; gd: Integer;Var pst: SYSTEMTIME): Boolean;
(DWORD)SNDMSG(hdp, DTM_GETSYSTEMTIME, 0, (LPARAM)(pst)) BOOL DateTime_SetSystemtime(HWND hdp, DWORD gd, LPSYSTEMTIME pst) if gd==GDT_NONE, sets datetimepick to None (DTS_SHOWNONE only) if gd==GDT_VALID, sets datetimepick to *pst returns TRUE on success, FALSE on error (such as bad params
function First_IPAdress(x : Longint): Byte;
#define MAKEIPADDRESS(b1,b2,b3,b4) ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4)))) Get individual number
function Fourth_IPAdress(x : Longint): Byte;
#define THIRD_IPADDRESS(x) ((x>>8) & 0xff
procedure InitComboExCommonControlEx;
function InitCommonControlsEx(Var CC : TInitCommonControlsEx): boolean;
native font control#define FOURTH_IPADDRESS(x) (x & 0xff
procedure InitCoolBarCommonControlEx;
procedure InitIPAdressCommonControlEx;
procedure InitPickerCommonControlEx;
procedure InitTabCommonControlEx;
procedure InitToolBarCommonControlEx;
function MakeIPAdress(b1, b2, b3, b4 : Byte): Longint;
#define MAKEIPRANGE(low, high) ((LPARAM)(WORD)(((BYTE)(high) << 8) + (BYTE)(low))) And this is a useful macro for making the IP Address to be passed as a LPARAM.
function MakeIPRange(Low, High : Byte): Longint;
The following is a useful macro for passing the range values in the IPM_SETRANGE message.
function MonthCal_GetColor(hmc: HWND; iColor: Integer): Longint;
function MonthCal_GetCurSel(hmc: HWND; Var pst: SystemTime): Boolean;
BOOL MonthCal_GetCurSel(HWND hmc, LPSYSTEMTIME pst) returns FALSE if MCS_MULTISELECT returns TRUE and sets *pst to the currently selected date otherwise
function MonthCal_GetFirstDayOfWeek(hmc: HWND): Integer;
SNDMSG(hmc, MCM_SETFIRSTDAYOFWEEK, 0, iDay) DWORD result... low word has the day. high word is bool if this is app set or not (FALSE == using locale info
function MonthCal_GetMaxSelCount(hmc: HWND): Longint;
(BOOL)SNDMSG(hmc, MCM_SETCURSEL, 0, (LPARAM)(pst)) DWORD MonthCal_GetMaxSelCount(HWND hmc) returns the maximum number of selectable days allowed
function MonthCal_GetMinReqRect(hmc: HWND; Var prc: TRect): Longint;
SNDMSG(hmc, MCM_SETDAYSTATE, (WPARAM)(cbds), (LPARAM)(rgds)) BOOL MonthCal_GetMinReqRect(HWND hmc, LPRECT prc) sets *prc the minimal size needed to display one month
function MonthCal_GetMonthDelta(hmc: HWND): Integer;
(BOOL)SNDMSG(hmc, MCM_SETRANGE, (WPARAM)(gd), (LPARAM)(rgst)) int MonthCal_GetMonthDelta(HWND hmc) returns the number of months one click on a next/prev button moves by
function MonthCal_GetMonthRange(hmc: HWND; gmr: Integer; Var rgst: SystemTime): Longint;
SNDMSG(hmc, MCM_SETSELRANGE, 0, (LPARAM)(rgst)) DWORD MonthCal_GetMonthRange(HWND hmc, DWORD gmr, LPSYSTEMTIME rgst) if rgst specified, sets rgst[0] to the starting date and and rgst[1] to the ending date of the the selectable (non-grayed) days if GMR_VISIBLE or all the displayed days (including grayed) if GMR_DAYSTATE. returns the number of months spanned by the above range.
function MonthCal_GetRange(hmc: HWND; Var rgst : SYSTEMTIME): Integer;
(DWORD)SNDMSG(hmc, MCM_GETFIRSTDAYOFWEEK, 0, 0) DWORD MonthCal_GetRange(HWND hmc, LPSYSTEMTIME rgst) modifies rgst[0] to be the minimum ALLOWABLE systemtime (or 0 if no minimum) modifies rgst[1] to be the maximum ALLOWABLE systemtime (or 0 if no maximum) returns GDTR_MIN|GDTR_MAX if there is a minimum|maximum limit
function MonthCal_GetSelRange(hmc: HWND; Var rgst: SystemTime): Longint;
(BOOL)SNDMSG(hmc, MCM_SETMAXSELCOUNT, (WPARAM)(n), 0L) BOOL MonthCal_GetSelRange(HWND hmc, LPSYSTEMTIME rgst) sets rgst[0] to the first day of the selection range sets rgst[1] to the last day of the selection range
function MonthCal_GetToday(hmc: HWND; Var pst: SystemTime): Boolean;
SNDMSG(hmc, MCM_SETTODAY, 0, (LPARAM)pst) get what day is "today" returns BOOL for success/failure
function MonthCal_HitTest(hmc: HWND; Var pinfo : PMCHitTestInfo): Longint;
(BOOL)SNDMSG(hmc, MCM_GETTODAY, 0, (LPARAM)pst) determine what pinfo->pt is over
function MonthCal_SetColor(hmc: HWND; iColor: Integer; clr: TColorRef): Longint;
function MonthCal_SetCurSel(hmc: HWND; Var pst: SystemTime): Boolean;
(BOOL)SNDMSG(hmc, MCM_GETCURSEL, 0, (LPARAM)(pst)) BOOL MonthCal_SetCurSel(HWND hmc, LPSYSTEMTIME pst) returns FALSE if MCS_MULTISELECT returns TURE and sets the currently selected date to *pst otherwise
function MonthCal_SetDayState(hmc: HWND; cbds: Integer; Var rgds: PMonthDayState): Longint;
(DWORD)SNDMSG(hmc, MCM_GETMONTHRANGE, (WPARAM)(gmr), (LPARAM)(rgst)) BOOL MonthCal_SetDayState(HWND hmc, int cbds, DAYSTATE *rgds) cbds is the count of DAYSTATE items in rgds and it must be equal to the value returned from MonthCal_GetMonthRange(hmc, GMR_DAYSTATE, NULL) This sets the DAYSTATE bits for each month (grayed and non-grayed days) displayed in the calendar. The first bit in a month's DAYSTATE corresponts to bolding day 1, the second bit affects day 2, etc.
function MonthCal_SetFirstDayOfWeek(hmc: HWND; iDay: Longint): Longint;
function MonthCal_SetMaxSelCount(hmc: HWND; n: Cardinal): Boolean;
(DWORD)SNDMSG(hmc, MCM_GETMAXSELCOUNT, 0, 0L) BOOL MonthCal_SetMaxSelCount(HWND hmc, UINT n) sets the max number days that can be selected iff MCS_MULTISELECT
function MonthCal_SetMonthDelta(hmc: HWND; n: Integer): Integer;
(int)SNDMSG(hmc, MCM_GETMONTHDELTA, 0, 0) int MonthCal_SetMonthDelta(HWND hmc, int n) sets the month delta to n. n==0 reverts to moving by a page of months returns the previous value of n.
function MonthCal_SetRange(hmc: HWND; gd: Integer; Var rgst: SYSTEMTIME): Boolean;
(DWORD)SNDMSG(hmc, MCM_GETRANGE, 0, (LPARAM)(rgst)) BOOL MonthCal_SetRange(HWND hmc, DWORD gdtr, LPSYSTEMTIME rgst) if GDTR_MIN, sets the minimum ALLOWABLE systemtime to rgst[0], otherwise removes minimum if GDTR_MAX, sets the maximum ALLOWABLE systemtime to rgst[1], otherwise removes maximum returns TRUE on success, FALSE on error (such as invalid parameters
function MonthCal_SetSelRange(hmc: HWND; Var rgst: SystemTime): Longint;
SNDMSG(hmc, MCM_GETSELRANGE, 0, (LPARAM)(rgst)) BOOL MonthCal_SetSelRange(HWND hmc, LPSYSTEMTIME rgst) selects the range of days from rgst[0] to rgst[1]
function MonthCal_SetToday(hmc: HWND; Var pst: SystemTime): Longint;
SNDMSG(hmc, MCM_GETMINREQRECT, 0, (LPARAM)(prc)) set what day is "today" send NULL to revert back to real date
function Second_IPAdress(x : Longint): Byte;
#define FIRST_IPADDRESS(x) ((x>>24) & 0xff
function TabCtrl_GetExtendedStyle(hwnd: HWND): Longint;
(DWORD)SNDMSG((hwnd), TCM_SETEXTENDEDSTYLE, 0, dw
function TabCtrl_HighlightItem(hwnd: HWND; i : Cardinal; fHighlight : Bool): Bool;
function TabCtrl_SetExtendedStyle(hwnd: HWND; dw: Longint): Longint;
(BOOL)SNDMSG((hwnd), TCM_HIGHLIGHTITEM, (WPARAM)i, (LPARAM)MAKELONG (fHighlight, 0
function Third_IPAdress(x : Longint): Byte;
#define SECOND_IPADDRESS(x) ((x>>16) & 0xff
function _TrackMouseEvent(Var lpEventTrack: PTrackMouseEvent): Boolean;
Declare _TrackMouseEvent. This API tries to use the window manager's implementation of TrackMouseEvent if it is present, otherwise it emulates. //
PComboBoxExItem = PComboBoxExItemA
PComboBoxExItemA = ^TComboBoxExItemA
PComboBoxExItemW = ^TComboBoxExItemW
PMCHitTestInfo = ^TMCHitTestInfo
PMonthDayState = ^TMonthDayState
PNMCBEEndEdit = PNMCBEEndEditA
PNMCBEEndEditA = ^TNMCBEEndEditA
PNMCBEEndEditW = ^TNMCBEEndEditW
CBEN_ENDEDIT sends this information... fChanged if the user actually did anything iNewSelection gives what would be the new selection unless the notify is failed iNewSelection may be CB_ERR if there's no match
PNMComboBoxEx = PNMComboBoxExA
PNMComboBoxExA = ^TNMComboBoxExA
PNMComboBoxExW = ^TNMComboBoxExW
PNMCustomDrawInfo = ^TNMCustomDrawInfo
PNMDateTimeChange = ^TNMDateTimeChange
PNMDateTimeFormat = PNMDateTimeFormatA
PNMDateTimeFormatA = ^TNMDateTimeFormatA
PNMDateTimeFormatQuery = PNMDateTimeFormatQueryA
PNMDateTimeFormatQueryA = ^TNMDateTimeFormatQueryA
PNMDateTimeFormatQueryW = ^TNMDateTimeFormatQueryW
PNMDateTimeFormatW = ^TNMDateTimeFormatW
PNMDateTimeString = PNMDateTimeStringA
PNMDateTimeStringA = ^TNMDateTimeStringA
valid iff dwFlags==GDT_VALID
PNMDateTimeStringW = ^TNMDateTimeStringW
PNMDateTimeWMKeyDown = PNMDateTimeWMKeyDownA
PNMDateTimeWMKeyDownA = ^TNMDateTimeWMKeyDownA
PNMDateTimeWMKeyDownW = ^TNMDateTimeWMKeyDownW
PNMDayState = ^TNMDayState
PNMIPAdress = ^TNMIPAdress
PNMLVCustomDraw = ^TNMLVCustomDraw
PNMSelChange = ^TNMSelChange
MCN_SELCHANGE is sent whenever the currently displayed date changes via month change, year change, keyboard navigation, prev/next button //
PNMSelect = ^TNMSelect
MCN_SELECT is sent whenever a selection has occured (via mouse or keyboard) //
PRebarBandInfo = PRebarBandInfoA
PRebarBandInfoA = ^TRebarBandInfoA
PRebarBandInfoW = ^TRebarBandInfoW
PRebarInfo = ^TRebarInfo
PTBNotify = PTBNotifyA
PTBNotifyA = ^TTBNotifyA
PTBNotifyW = ^TTBNotifyW
PTBReplaceBitmap = ^TTBReplaceBitmap
PTrackMouseEvent = ^TTrackMouseEvent
SystemTime = record
wYear : Word;
wMonth : Word;
wDayOfWeek : Word;
wDay : Word;
wHour : Word;
wMinute : Word;
wSecond : Word;
wMilliseconds : Word;
end;
bit-packed array of "bold" info for a month if a bit is on, that day is drawn bold
TComboBoxExItem = TComboBoxExItemA
TComboBoxExItemA = record
mask : Cardinal;
iItem : Integer;
pszText : PAnsiChar;
cchTextMax : Integer;
iImage : Integer;
iSelectedImage : Integer;
iOverlay : Integer;
iIndent : Integer;
lParam : LPARAM;
end;
TComboBoxExItemW = record
mask : Cardinal;
iItem : Integer;
pszText : PWideChar;
cchTextMax : Integer;
iImage : Integer;
iSelectedImage : Integer;
iOverlay : Integer;
iIndent : Integer;
lParam : LPARAM;
end;
TInitCommonControlsEx = record
dwSize : LONGINT;
dwICC : LONGINT;
end;
Interface for the Windows Tab Control } //==================== CUSTOM CONTROL EX ====================================
TMCHitTestInfo = record
cbSize : Cardinal;
pt : TPoint;
uHit : Cardinal;
st : SystemTime;
end;
TMonthDayState = Longint
TNMCBEEndEdit= TNMCBEEndEditA
TNMCBEEndEditA = record
hdr : TNMHDR;
fChanged : Boolean;
iNewSelection : Integer;
szText : Array[0..CBEMAXSTRLEN] of Char;
iWhy : Integer;
end;
TNMCBEEndEditW = record
hdr : TNMHDR;
fChanged : Boolean;
iNewSelection : Integer;
szText : Array[0..CBEMAXSTRLEN] of Char;
iWhy : Integer;
end;
TNMComboBoxEx = TNMComboBoxExA
TNMComboBoxExA = record
hdr : TNMHDR;
ceItem : TComboBoxExItemA;
end;
TNMComboBoxExW = record
hdr : TNMHDR;
ceItem : TComboBoxExItemW;
end;
TNMCustomDrawInfo = record
hdr : TNMHDR;
dwDrawStage : LONGINT;
hdc : HDC;
rc : TRect;
dwItemSpec : LONGINT;
uItemState : Cardinal;
end;
TNMDateTimeChange = record
nmhdr : TNMHdr;
dwFlags : Longint;
st : SYSTEMTIME;
end;
TNMDateTimeFormat = TNMDateTimeFormatA
buffer pszDisplay originally points at
TNMDateTimeFormatA = record
nmhdr : TNMHdr;
pszFormat : PAnsiChar;
st : SYSTEMTIME;
pszDisplay : PAnsiChar;
szDisplay : Array[0..64] of char;
end;
TNMDateTimeFormatQuery = TNMDateTimeFormatQueryA
max bounding rectangle app will use for this format string
TNMDateTimeFormatQueryA = record
nmhdr : TNMHdr;
pszFormat : PAnsiChar;
szMax : TSize;
end;
TNMDateTimeFormatQueryW = record
nmhdr : TNMHdr;
pszFormat : PWideChar;
szMax : TSize;
end;
max bounding rectangle app will use for this format string
TNMDateTimeFormatW = record
nmhdr : TNMHdr;
pszFormat : PWideChar;
st : SYSTEMTIME;
pszDisplay : PWideChar;
szDisplay : Array[0..64] of char;
end;
buffer pszDisplay originally points at
TNMDateTimeString = TNMDateTimeStringA
GDT_VALID or GDT_NONE
TNMDateTimeStringA = record
nmhdr : TNMHdr;
pszUserString : PAnsiChar;
st : SYSTEMTIME;
dwFlags : Longint;
end;
TNMDateTimeStringW = record
nmhdr : TNMHdr;
pszUserString : PWideChar;
st : SYSTEMTIME;
dwFlags : Longint;
end;
GDT_VALID or GDT_NONE
TNMDateTimeWMKeyDown = TNMDateTimeWMKeyDownA
current systemtime, app should modify based on key
TNMDateTimeWMKeyDownA = record
nmhdr : TNMHdr;
nVirtKey : Integer;
pszFormat : PAnsiChar;
st : SYSTEMTIME;
end;
TNMDateTimeWMKeyDownW = record
nmhdr : TNMHdr;
nVirtKey : Integer;
pszFormat : PWideChar;
st : SYSTEMTIME;
end;
current systemtime, app should modify based on key
TNMDayState = record
nmhdr : TNMHdr;
stSelStart : SYSTEMTIME;
cDayState : Integer;
prgDayState : PMonthDaystate;
end;
MCN_GETDAYSTATE is sent for MCS_DAYSTATE controls whenever new daystate information is needed (month or year scroll) to draw bolding information. The app must fill in cDayState months worth of information starting from stStart date. The app may fill in the array at prgDayState or change prgDayState to point to a different array out of which the information will be copied. (similar to tooltips) //
TNMIPAdress = record
hdr : TNMHDR;
iField : Integer;
iValue : Integer;
end;
TNMLVCustomDraw = record
nmcd : TNMCUSTOMDRAWInfo;
clrText : COLORREF;
clrTextBk : COLORREF;
end;
TNMSelChange = record
nmhdr : TNMHdr;
stSelStart : SYSTEMTIME;
stSelEnd : SYSTEMTIME;
end;
TNMSelect = TNMSelChange
TRebarBandInfo = TRebarBandInfoA
TRebarBandInfoA = record
cbSize : Cardinal;
fMask : Cardinal;
fStyle : Cardinal;
clrFore : TColorRef;
clrBack : TColorRef;
lpText : PAnsiChar;
cch : Cardinal;
iImage : Integer;
hwndChild : HWND;
cxMinChild : Cardinal;
cyMinChild : Cardinal;
cx : Cardinal;
hbmBack : HBITMAP;
wID : Cardinal;
end;
TRebarBandInfoW = record
cbSize : Cardinal;
fMask : Cardinal;
fStyle : Cardinal;
clrFore : TColorRef;
clrBack : TColorRef;
lpText : PWideChar;
cch : Cardinal;
iImage : Integer;
hwndChild : HWND;
cxMinChild : Cardinal;
cyMinChild : Cardinal;
cx : Cardinal;
hbmBack : HBITMAP;
wID : Cardinal;
end;
TRebarInfo = record
cbSize : Cardinal;
fMask : Cardinal;
himl : HIMAGELIST;
end;
TTBNotify = TTBNotifyA
TTBNotifyA = record
hdr : TNMHdr;
iItem : Integer;
tbButton : TTBButton;
cchText : Integer;
pszText : PAnsiChar;
end;
TTBNotifyW = record
hdr : TNMHdr;
iItem : Integer;
tbButton : TTBButton;
cchText : Integer;
pszText : PWideChar;
end;
TTBReplaceBitmap = record
hInstOld : THandle;
nIDOld : Cardinal;
hInstNew : THandle;
nIDNew : Cardinal;
nButtons : Integer;
end;
TTrackMouseEvent = record
cbSize : Longint;
dwFlags : Longint;
hwndTrack : HWND;
dwHoverTime : Longint;
end;
CBEIF_DI_SETITEM = $10000000
CBEIF_IMAGE = $00000002
CBEIF_INDENT = $00000010
CBEIF_LPARAM = $00000020
CBEIF_OVERLAY = $00000008
CBEIF_SELECTEDIMAGE = $00000004
CBEIF_TEXT = $00000001
CBEMAXSTRLEN = 260
CBEM_DELETEITEM = CB_DELETESTRING
CBEM_GETCOMBOCONTROL = (WM_USER + 6)
CBEM_GETEDITCONTROL = (WM_USER + 7)
CBEM_GETEXSTYLE = (WM_USER + 9)
CBEM_GETIMAGELIST = (WM_USER + 3)
CBEM_GETITEM = CBEM_GETITEMA
CBEM_GETITEMA = (WM_USER + 4)
CBEM_GETITEMW = (WM_USER + 13)
CBEM_HASEDITCHANGED = (WM_USER + 10)
CBEM_INSERTITEM = CBEM_INSERTITEMA
CBEM_INSERTITEMA = (WM_USER + 1)
CBEM_INSERTITEMW = (WM_USER + 11)
CBEM_SETEXSTYLE = (WM_USER + 8)
CBEM_SETIMAGELIST = (WM_USER + 2)
CBEM_SETITEM = CBEM_SETITEMA
CBEM_SETITEMA = (WM_USER + 5)
CBEM_SETITEMW = (WM_USER + 12)
CBENF_DROPDOWN = 4
CBENF_ESCAPE = 3
CBENF_KILLFOCUS = 1
CBENF_RETURN = 2
CBEN_BEGINEDIT = (CBEN_FIRST - 4)
CBEN_DELETEITEM = (CBEN_FIRST - 2)
CBEN_ENDEDIT = CBEN_ENDEDITA
lParam specifies why the endedit is happening
CBEN_ENDEDITA = (CBEN_FIRST - 5)
CBEN_ENDEDITW = (CBEN_FIRST - 6)
CBEN_FIRST = 0-800
CBEN_GETDISPINFO = (CBEN_FIRST - 0)
CBEN_INSERTITEM = (CBEN_FIRST - 1)
CBEN_LAST = 0-830
combo box ex
CBES_EX_NOEDITIMAGE = $00000001
CBES_EX_NOEDITIMAGEINDENT = $00000002
CBES_EX_PATHWORDBREAKPROC = $00000004
CCM_FIRST = $2000
CCM_GETCOLORSCHEME = (CCM_FIRST + 3)
lParam is color scheme
CCM_GETDROPTARGET = (CCM_FIRST + 4)
fills in COLORSCHEME pointed to by lParam
CCM_GETUNICODEFORMAT = (CCM_FIRST + 6)
CCM_SETBKCOLOR = (CCM_FIRST + 1)
Common control shared messages
CCM_SETCOLORSCHEME = (CCM_FIRST + 2)
lParam is bkColor (*
typedef struct tagCOLORSCHEME {
DWORD dwSize;
COLORREF clrBtnHighlight; // highlight color
COLORREF clrBtnShadow; // shadow color
} COLORSCHEME, *LPCOLORSCHEME;
CCM_SETUNICODEFORMAT = (CCM_FIRST + 5)
CCS_LEFT = (CCS_VERT OR CCS_TOP)
CCS_NOMOVEX = (CCS_VERT OR CCS_NOMOVEY)
CCS_RIGHT = (CCS_VERT OR CCS_BOTTOM)
CCS_VERT = $00000080
CDDS_ITEM = $000010000
the 0x000010000 bit means it's individual item specific
CDDS_ITEMPOSTERASE = (CDDS_ITEM OR CDDS_POSTERASE)
CDDS_ITEMPOSTPAINT = (CDDS_ITEM OR CDDS_POSTPAINT)
CDDS_ITEMPREERASE = (CDDS_ITEM OR CDDS_PREERASE)
CDDS_ITEMPREPAINT = (CDDS_ITEM OR CDDS_PREPAINT)
CDDS_POSTERASE = $000000004
CDDS_POSTPAINT = $000000002
CDDS_PREERASE = $000000003
CDDS_PREPAINT = $000000001
drawstage flags values under 0x00010000 are reserved for global custom draw values. above that are for specific controls
CDIS_CHECKED = $0008
CDIS_DEFAULT = $0020
CDIS_DISABLED = $0004
CDIS_FOCUS = $0010
CDIS_GRAYED = $0002
CDIS_HOT = $0040
CDIS_SELECTED = $0001
itemState flags
CDRF_DODEFAULT = $00000000
==================== CUSTOM DRAW ========================================== custom draw return flags values under 0x00010000 are reserved for global custom draw values. above that are for specific controls
CDRF_NEWFONT = $00000002
CDRF_NOTIFYITEMDRAW = $00000020
CDRF_NOTIFYITEMERASE = $00000080
CDRF_NOTIFYPOSTERASE = $00000040
CDRF_NOTIFYPOSTPAINT = $00000010
CDRF_SKIPDEFAULT = $00000004
DATETIMEPICK_CLASS = 'SysDateTimePick32'
above plus the grayed out parts of partially displayed months ====== DATETIMEPICK CONTROL ==================================================
DTM_FIRST = $1000
DTM_GETMCCOLOR = (DTM_FIRST + 7)
DTM_GETMCFONT = (DTM_FIRST + 10)
DTM_GETMONTHCAL = (DTM_FIRST + 8)
DTM_GETRANGE = (DTM_FIRST + 3)
DTM_GETSYSTEMTIME = (DTM_FIRST + 1)
DTM_SETFORMAT = DTM_SETFORMATA
DTM_SETFORMATA = (DTM_FIRST + 5)
DTM_SETFORMATW = (DTM_FIRST + 50)
DTM_SETMCCOLOR = (DTM_FIRST + 6)
DTM_SETMCFONT = (DTM_FIRST + 9)
DTM_SETRANGE = (DTM_FIRST + 4)
DTM_SETSYSTEMTIME = (DTM_FIRST + 2)
DTN_CLOSEUP = (DTN_FIRST + 7)
MonthCal has dropped down
DTN_DATETIMECHANGE = (DTN_FIRST + 1)
right-align popup instead of left-align it
DTN_DROPDOWN = (DTN_FIRST + 6)
DTN_FIRST = 0-760
DTN_FORMAT = DTN_FORMATA
DTN_FORMATA = (DTN_FIRST + 4)
DTN_FORMATQUERY = DTN_FORMATQUERYA
DTN_FORMATQUERYA = (DTN_FIRST + 5)
DTN_FORMATQUERYW = (DTN_FIRST + 18)
query formatting info for app format field (X
DTN_FORMATW = (DTN_FIRST + 17)
query display for app format field (X
DTN_LAST = 0-799
datetimepick
DTN_USERSTRING = DTN_USERSTRINGA
DTN_USERSTRINGA = (DTN_FIRST + 2)
the systemtime has changed
DTN_USERSTRINGW = (DTN_FIRST + 15)
the user has entered a string
DTN_WMKEYDOWN = DTN_WMKEYDOWNA
DTN_WMKEYDOWNA = (DTN_FIRST + 3)
DTN_WMKEYDOWNW = (DTN_FIRST + 16)
modify keydown on app format field (X
DTS_APPCANPARSE = $0010
use the time format (app must forward WM_WININICHANGE messages
DTS_LONGDATEFORMAT = $0004
use the short date format (app must forward WM_WININICHANGE messages
DTS_RIGHTALIGN = $0020
allow user entered strings (app MUST respond to DTN_USERSTRING
DTS_SHORTDATEFORMAT = $0000
allow a NONE selection
DTS_SHOWNONE = $0002
use UPDOWN instead of MONTHCAL
DTS_TIMEFORMAT = $0009
use the long date format (app must forward WM_WININICHANGE messages
DTS_UPDOWN = $0001
SNDMSG(hdp, DTM_GETMCFONT, 0, 0);
GDTR_MAX = $0002
GDTR_MIN = $0001
MonthCal is popping up
GDT_ERROR = -1
GDT_NONE = 1
GDT_VALID = 0
GMR_DAYSTATE = 1
visible portion of display
GMR_VISIBLE = 0
HOVER_DEFAULT = $FFFFFFFF
ICC_ANIMATE_CLASS = $00000080
hotkey
ICC_BAR_CLASSES = $00000004
treeview, tooltips
ICC_COOL_CLASSES = $00000400
comboex
ICC_DATE_CLASSES = $00000100
ICC_HOTKEY_CLASS = $00000040
progress
ICC_INTERNET_CLASSES = $00000800
rebar (coolbar) control IE4 ONLY
ICC_LISTVIEW_CLASSES = $00000001
ICC_NATIVEFNTCTL_CLASS = $00002000
page scroller
ICC_PAGESCROLLER_CLASS = $00001000
ICC_PROGRESS_CLASS = $00000020
updown
ICC_TAB_CLASSES = $00000008
toolbar, statusbar, trackbar, tooltips
ICC_TREEVIEW_CLASSES = $00000002
listview, header
ICC_UPDOWN_CLASS = $00000010
tab, tooltips
ICC_USEREX_CLASSES = $00000200
month picker, date picker, time picker, updown
ICC_WIN95_CLASSES = $000000FF
animate
IDB_HIST_LARGE_COLOR = 9
IDB_HIST_SMALL_COLOR = 8
====== TOOLBAR CONTROL ========================================================
IPM_CLEARADDRESS = (WM_USER+100)
==================== IP ADRESS EDIT CONTROL============================================ IE 4 EXTENSIONS Messages sent to IPAddress controls
IPM_GETADDRESS = (WM_USER+102)
lparam = TCP/IP address
IPM_ISBLANK = (WM_USER+105)
wparam = field
IPM_SETADDRESS = (WM_USER+101)
no parameters
IPM_SETFOCUS = (WM_USER+104)
wparam = field, lparam = range
IPM_SETRANGE = (WM_USER+103)
lresult = # of non black fields. lparam = LPDWORD for TCP/IP address
IPN_FIELDCHANGED = (IPN_FIRST - 0)
IPN_FIRST = (0-860)
IE4 ONLY
IPN_LAST = (0-879)
internet address
MCHT_CALENDAR = $00020000
MCHT_CALENDARBK = (MCHT_CALENDAR)
MCHT_CALENDARDATE = (MCHT_CALENDAR OR $0001)
MCHT_CALENDARDATENEXT = (MCHT_CALENDARDATE OR MCHT_NEXT)
MCHT_CALENDARDATEPREV = (MCHT_CALENDARDATE OR MCHT_PREV)
MCHT_CALENDARDAY = (MCHT_CALENDAR OR $0002)
MCHT_CALENDARWEEKNUM = (MCHT_CALENDAR OR $0003)
MCHT_NEXT = $01000000
MCHT_NOWHERE = $00000000
here will go to the next/prev month
MCHT_PREV = $02000000
these indicate that hitting
MCHT_TITLE = $00010000
SNDMSG(hmc, MCM_HITTEST, 0, (LPARAM)(PMCHITTESTINFO)pinfo
MCHT_TITLEBK = (MCHT_TITLE)
MCHT_TITLEBTNNEXT = (MCHT_TITLE OR MCHT_NEXT OR $0003)
MCHT_TITLEBTNPREV = (MCHT_TITLE OR MCHT_PREV OR $0003)
MCHT_TITLEMONTH = (MCHT_TITLE OR $0001)
MCHT_TITLEYEAR = (MCHT_TITLE OR $0002)
MCHT_TODAYLINK = $00030000
MCM_FIRST = $1000
MCM_GETCOLOR = (MCM_FIRST + 11)
MCM_GETCURSEL = (MCM_FIRST + 1)
MCM_GETFIRSTDAYOFWEEK = (MCM_FIRST + 16)
MCM_GETMAXSELCOUNT = (MCM_FIRST + 3)
MCM_GETMINREQRECT = (MCM_FIRST + 9)
MCM_GETMONTHDELTA = (MCM_FIRST + 19)
MCM_GETMONTHRANGE = (MCM_FIRST + 7)
MCM_GETRANGE = (MCM_FIRST + 17)
MCM_GETSELRANGE = (MCM_FIRST + 5)
MCM_GETTODAY = (MCM_FIRST + 13)
MCM_HITTEST = (MCM_FIRST + 14)
MCM_SETCOLOR = (MCM_FIRST + 10)
set colors to draw control with -- see MCSC_ bits below
MCM_SETCURSEL = (MCM_FIRST + 2)
MCM_SETDAYSTATE = (MCM_FIRST + 8)
MCM_SETFIRSTDAYOFWEEK = (MCM_FIRST + 15)
the text color of header & trailing days set first day of week to iDay: 0 for Monday, 1 for Tuesday, ..., 6 for Sunday -1 for means use locale info
MCM_SETMAXSELCOUNT = (MCM_FIRST + 4)
MCM_SETMONTHDELTA = (MCM_FIRST + 20)
MCM_SETRANGE = (MCM_FIRST + 18)
MCM_SETSELRANGE = (MCM_FIRST + 6)
MCM_SETTODAY = (MCM_FIRST + 12)
MCN_FIRST = 0-750
MCN_GETDAYSTATE = (MCN_FIRST + 3)
MCN_LAST = 0-759
monthcal
MCN_SELCHANGE = (MCN_FIRST + 1)
MCN_SELECT = (MCN_FIRST + 4)
MCSC_BACKGROUND = 0
MCSC_MONTHBK = 4
MCSC_TEXT = 1
the background color (between months
MCSC_TITLEBK = 2
the dates
MCSC_TITLETEXT = 3
background of the title
MCSC_TRAILINGTEXT = 5
background within the month cal
MCS_DAYSTATE = $0001
MCS_MULTISELECT = $0002
MCS_NOTODAY = $0008
MCS_WEEKNUMBERS = $0004
MONTHCAL_CLASS = 'SysMonthCal32'
====== MONTHCAL CONTROL ======================================================
NM_CUSTOMDRAW = (NM_FIRST-12)
NM_HOVER = (NM_FIRST-13)
PGM_FIRST = $1400
internet address
PGN_FIRST = (0-900)
Pager control messages
PGN_LAST = (0-950)
Pager Control
RBBIM_BACKGROUND = $00000080
RBBIM_CHILD = $00000010
RBBIM_CHILDSIZE = $00000020
RBBIM_COLORS = $00000002
RBBIM_ID = $00000100
RBBIM_IMAGE = $00000008
RBBIM_SIZE = $00000040
RBBIM_STYLE = $00000001
bitmap doesn't move during band resize
RBBIM_TEXT = $00000004
RBBS_BREAK = $00000001
RBBS_CHILDEDGE = $00000004
band can't be sized
RBBS_FIXEDBMP = $00000020
don't show when vertical
RBBS_FIXEDSIZE = $00000002
break to new line
RBBS_HIDDEN = $00000008
edge around top & bottom of child window
RBBS_NOVERT = $00000010
don't show
RBIM_IMAGELIST = $00000001
RBN_FIRST = 0-831
RBN_HEIGHTCHANGE = (RBN_FIRST - 0)
RBN_LAST = 0-859
rebar
RBS_BANDBORDERS = $00000400
RBS_FIXEDORDER = $00000800
RBS_TOOLTIPS = $00000100
RBS_VARHEIGHT = $00000200
RB_DELETEBAND = (WM_USER + 2)
RB_GETBANDCOUNT = (WM_USER + 12)
RB_GETBANDINFO = (WM_USER + 5)
RB_GETBARINFO = (WM_USER + 3)
RB_GETROWCOUNT = (WM_USER + 13)
RB_GETROWHEIGHT = (WM_USER + 14)
RB_INSERTBAND = RB_INSERTBANDA
RB_INSERTBANDA = (WM_USER + 1)
RB_INSERTBANDW = (WM_USER + 10)
RB_SETBANDINFO = RB_SETBANDINFOA
RB_SETBANDINFOA = (WM_USER + 6)
RB_SETBANDINFOW = (WM_USER + 11)
RB_SETBARINFO = (WM_USER + 4)
RB_SETPARENT = (WM_USER + 7)
REBARCLASSNAME = 'ReBarWindow32'
====== REBAR CONTROL ========================================================
TBN_CLOSEUP = (TBN_FIRST - 11)
TBN_DROPDOWN = (TBN_FIRST - 10)
TBSTATE_ELLIPSES = $40
TBSTYLE_CUSTOMERASE = $2000
TBSTYLE_DROPDOWN = $08
TBSTYLE_FLAT = $0800
TBSTYLE_LIST = $1000
TB_GETBUTTONSIZE = (WM_USER + 58)
TB_GETDISABLEDIMAGELIST = (WM_USER + 55)
TB_GETHOTIMAGELIST = (WM_USER + 53)
TB_GETIMAGELIST = (WM_USER + 49)
TB_GETRECT = (WM_USER + 51)
TB_GETSTYLE = (WM_USER + 57)
TB_GETTEXTROWS = (WM_USER + 61)
TB_LOADIMAGES = (WM_USER + 50)
TB_REPLACEBITMAP = (WM_USER + 46)
TB_SETBUTTONWIDTH = (WM_USER + 59)
TB_SETDISABLEDIMAGELIST = (WM_USER + 54)
TB_SETHOTIMAGELIST = (WM_USER + 52)
wParam is the Cmd instead of index
TB_SETIMAGELIST = (WM_USER + 48)
TB_SETINDENT = (WM_USER + 47)
TB_SETMAXTEXTROWS = (WM_USER + 60)
TB_SETSTYLE = (WM_USER + 56)
TCIF_RTLREADING = $0004
TCIF_STATE = $0010
TCIS_BUTTONPRESSED = $0001
TCIS_HIGHLIGHTED = $0002
IE4 ONLY
TCM_GETEXTENDEDSTYLE = (TCM_FIRST + 53)
optional wParam == mask
TCM_HIGHLIGHTITEM = (TCM_FIRST + 51)
IE4 ONLY
TCM_SETEXTENDEDSTYLE = (TCM_FIRST + 52)
TCN_GETOBJECT = (TCN_FIRST - 3)
IE4 ONLY
TCS_BOTTOM = $0002
assumes multiline tab
TCS_EX_FLATSEPARATORS = $00000001
IE4 ONLY
TCS_EX_REGISTERDROP = $00000002
IE4 ONLY
TCS_FLATBUTTONS = $0008
IE4 ONLY
TCS_HOTTRACK = $0040
only valid with multiline mode
TCS_MULTISELECT = $0004
TCS_RIGHT = $0002
TCS_SCROLLOPPOSITE = $0001
////////////////// TAB CONTROL ////////////////////////////////
TCS_VERTICAL = $0080
allow multi-select in button mode
TME_CANCEL = $80000000
TME_HOVER = $00000001
If the TRACKMOUSEEVENT structure and associated flags havent been declared then declare them now. //
TME_LEAVE = $00000002
TME_QUERY = $40000000
WC_COMBOBOXEX = 'ComboBoxEx32'
----------------------------------------------------------------------**) //////////////////// ComboBoxEx ////////////////////////////////
WC_IPADDRESS = 'SysIPAddress32'
no parameters
WM_MOUSEHOVER = $02A1
====== TrackMouseEvent =====================================================
WM_MOUSELEAVE = $02A3