13#if !defined(OWL_COMMCTRL_H)
17#if defined(BI_HAS_PRAGMA_ONCE)
22#if !defined(RC_INVOKED)
27#if !defined(__RICHEDIT_H)
36#if !defined(_INC_COMMCTRL)
42#pragma comment(lib, "comctl32")
116 operator NMHDR&() {
return hdr; }
138 operator NMHDR&() {
return hdr; }
155 operator NMHDR&() {
return hdr; }
170 operator NMCUSTOMDRAW&() {
return nmcd; }
178 operator NMHDR&() {
return hdr; }
187 operator NMHDR&() {
return hdr; }
205 operator NMHDR&() {
return hdr; }
213 operator NMHDR&() {
return hdr; }
221 operator NMHDR&() {
return hdr; }
349 operator NMHDR&() {
return hdr; }
360 operator NMHDR&() {
return hdr; }
371 operator NMHDR&() {
return hdr; }
392 operator NMHDR&() {
return hdr; }
404 operator NMCUSTOMDRAW&() {
return nmcd; }
420 operator NMHDR&() {
return hdr; }
432 operator NMHDR&() {
return hdr; }
444 operator NMHDR&() {
return hdr; }
456 operator NMHDR&() {
return hdr; }
472 operator NMHDR&() {
return hdr; }
483 operator NMHDR&() {
return hdr; }
494 operator NMHDR&() {
return hdr; }
514 operator NMHDR&() {
return nmcd.hdr;}
515 operator NMCUSTOMDRAW&() {
return nmcd; }
529 operator NMHDR&() {
return hdr; }
540 operator NMHDR&() {
return hdr; }
549 operator NMHDR&() {
return hdr; }
558 operator NMHDR&() {
return hdr; }
568 operator NMHDR&() {
return hdr; }
601 dwSize=
sizeof(COLORSCHEME);
606 dwSize =
sizeof(COLORSCHEME);
680 operator NMHDR&() {
return hdr; }
685 operator NMHDR&() {
return hdr; }
694 operator NMHDR&() {
return hdr; }
702 operator NMHDR&() {
return hdr; }
724#if OWL_EV_SIGNATURE_CHECK
726 template <
class T>
struct THandler {
typedef THandlerResult (T::*
type)(NMHDR&);};
733 template <
class T, THandlerResult (T::*M)(NMHDR&)>
753 template <u
int NotificationCode,
class THandlerResult,
class TParam>
754 struct TNotificationDispatchBase;
759 template <u
int NotificationCode_,
class THandlerResult_,
class TNmParam>
770#if OWL_EV_SIGNATURE_CHECK
776 template <
class T, THandlerResult (T::*M)(TNmParam&)>
787 template <u
int NotificationCode_,
class TNmParam>
798#if OWL_EV_SIGNATURE_CHECK
804 template <
class T, THandlerResult (T::*M)(TNmParam&)>
808 return p2 != 0 ? ((
static_cast<T*
>(
i)->*
M)(*
reinterpret_cast<TNmParam*
>(
p2)), 0) : 0;
817 template <u
int NotificationCode_,
class THandlerResult_>
823#if OWL_EV_SIGNATURE_CHECK
829 template <
class T, THandlerResult (T::*M)()>
831 {
return static_cast<TResult>((
static_cast<T*
>(
i)->*
M)());}
834 template <u
int NotificationCode_>
840#if OWL_EV_SIGNATURE_CHECK
846 template <
class T, THandlerResult (T::*M)()>
848 {
return (
static_cast<T*
>(
i)->*
M)(), 0;}
857 template <u
int NotificationCode>
999#if defined(OWL5_COMPAT)
1067#if OWL_EV_SIGNATURE_CHECK
1073#define OWL_EV_NOTIFICATION(notificationCode, sourceId, method)\
1074 {{static_cast<::owl::uint>(notificationCode)}, static_cast<::owl::uint>(sourceId),\
1075 (::owl::CheckSignature<TMyClass, WM_NOTIFY, static_cast<::owl::uint>(notificationCode), ::owl::TDispatch>(&TMyClass::method),\
1076 OWL_DISPATCH(::owl::TDispatch<WM_NOTIFY>::TNotificationDispatch<static_cast<::owl::uint>(notificationCode)>::Decode, method))}
1084#define OWL_EV_NOTIFICATION(notificationCode, sourceId, method)\
1085 {{static_cast<::owl::uint>(notificationCode)}, static_cast<::owl::uint>(sourceId),\
1086 OWL_DISPATCH(::owl::TDispatch<WM_NOTIFY>::TNotificationDispatch<static_cast<::owl::uint>(notificationCode)>::Decode, method)}
1094#define OWL_EV_NOTIFICATION_AT_CHILD(notificationCode, method)\
1095 OWL_EV_NOTIFICATION(notificationCode, UINT_MAX, method)
1100#define EV_NM_CHAR(id, method) OWL_EV_NOTIFICATION(NM_CHAR, id, method)
1105#define EV_NM_CLICK(id, method) OWL_EV_NOTIFICATION(NM_CLICK, id, method)
1110#define EV_NM_CUSTOMDRAW(id, method) OWL_EV_NOTIFICATION(NM_CUSTOMDRAW, id, method)
1115#define EV_NM_DBLCLK(id, method) OWL_EV_NOTIFICATION(NM_DBLCLK, id, method)
1120#define EV_NM_HOVER(id, method) OWL_EV_NOTIFICATION(NM_HOVER, id, method)
1125#define EV_NM_KEYDOWN(id, method) OWL_EV_NOTIFICATION(NM_KEYDOWN, id, method)
1130#define EV_NM_KILLFOCUS(id, method) OWL_EV_NOTIFICATION(NM_KILLFOCUS, id, method)
1135#define EV_NM_NCHITTEST(id, method) OWL_EV_NOTIFICATION(NM_NCHITTEST, id, method)
1140#define EV_NM_OUTOFMEMORY(id, method) OWL_EV_NOTIFICATION(NM_OUTOFMEMORY, id, method)
1145#define EV_NM_RCLICK(id, method) OWL_EV_NOTIFICATION(NM_RCLICK, id, method)
1150#define EV_NM_RDBLCLK(id, method) OWL_EV_NOTIFICATION(NM_RDBLCLK, id, method)
1155#define EV_NM_RELEASEDCAPTURE(id, method) OWL_EV_NOTIFICATION(NM_RELEASEDCAPTURE, id, method)
1160#define EV_NM_RETURN(id, method) OWL_EV_NOTIFICATION(NM_RETURN, id, method)
1165#define EV_NM_SETCURSOR(id, method) OWL_EV_NOTIFICATION(NM_SETCURSOR, id, method)
1170#define EV_NM_SETFOCUS(id, method) OWL_EV_NOTIFICATION(NM_SETFOCUS, id, method)
1181#define EV_ACN_START(id, method) OWL_EV_NOTIFICATION(ACN_START, id, method)
1186#define EV_ACN_STOP(id, method) OWL_EV_NOTIFICATION(ACN_STOP, id, method)
1197#define EV_HDN_BEGINDRAG(id, method) OWL_EV_NOTIFICATION(HDN_BEGINDRAG, id, method)
1202#define EV_HDN_BEGINTRACK(id, method) OWL_EV_NOTIFICATION(HDN_BEGINTRACK, id, method)
1207#define EV_HDN_DIVIDERDBLCLICK(id, method) OWL_EV_NOTIFICATION(HDN_DIVIDERDBLCLICK, id, method)
1212#define EV_HDN_ENDDRAG(id, method) OWL_EV_NOTIFICATION(HDN_ENDDRAG, id, method)
1217#define EV_HDN_ENDTRACK(id, method) OWL_EV_NOTIFICATION(HDN_ENDTRACK, id, method)
1223#define EV_HDN_FILTERBTNCLICK(id, method) OWL_EV_NOTIFICATION(HDN_FILTERBTNCLICK, id, method)
1228#define EV_HDN_FILTERCHANGE(id, method) OWL_EV_NOTIFICATION(HDN_FILTERCHANGE, id, method)
1235#define EV_HDN_GETDISPINFO(id, method) OWL_EV_NOTIFICATION(HDN_GETDISPINFO, id, method)
1240#define EV_HDN_ITEMCHANGED(id, method) OWL_EV_NOTIFICATION(HDN_ITEMCHANGED, id, method)
1245#define EV_HDN_ITEMCHANGING(id, method) OWL_EV_NOTIFICATION(HDN_ITEMCHANGING, id, method)
1250#define EV_HDN_ITEMCLICK(id, method) OWL_EV_NOTIFICATION(HDN_ITEMCLICK, id, method)
1255#define EV_HDN_ITEMDBLCLICK(id, method) OWL_EV_NOTIFICATION(HDN_ITEMDBLCLICK, id, method)
1260#define EV_HDN_TRACK(id, method) OWL_EV_NOTIFICATION(HDN_TRACK, id, method)
1271#define EV_DTN_CLOSEUP(id, method) OWL_EV_NOTIFICATION(DTN_CLOSEUP, id, method)
1277#define EV_DTN_DATETIMECHANGE(id, method) OWL_EV_NOTIFICATION(DTN_DATETIMECHANGE, id, method)
1282#define EV_DTN_DROPDOWN(id, method) OWL_EV_NOTIFICATION(DTN_DROPDOWN, id, method)
1288#define EV_DTN_FORMAT(id, method) OWL_EV_NOTIFICATION(DTN_FORMAT, id, method)
1294#define EV_DTN_FORMATQUERY(id, method) OWL_EV_NOTIFICATION(DTN_FORMATQUERY, id, method)
1300#define EV_DTN_USERSTRING(id, method) OWL_EV_NOTIFICATION(DTN_USERSTRING, id, method)
1306#define EV_DTN_WMKEYDOWN(id, method) OWL_EV_NOTIFICATION(DTN_WMKEYDOWN, id, method)
1317#define EV_TCN_GETOBJECT(id, method) OWL_EV_NOTIFICATION(TCN_GETOBJECT, id, method)
1322#define EV_TCN_KEYDOWN(id, method) OWL_EV_NOTIFICATION(TCN_KEYDOWN, id, method)
1327#define EV_TCN_SELCHANGE(id, method) OWL_EV_NOTIFICATION(TCN_SELCHANGE, id, method)
1332#define EV_TCN_SELCHANGING(id, method) OWL_EV_NOTIFICATION(TCN_SELCHANGING, id, method)
1343#define EV_EN_DROPFILES(id, method) OWL_EV_NOTIFICATION(EN_DROPFILES, id, method)
1348#define EV_EN_MSGFILTER(id, method) OWL_EV_NOTIFICATION(EN_MSGFILTER, id, method)
1353#define EV_EN_PROTECTED(id, method) OWL_EV_NOTIFICATION(EN_PROTECTED, id, method)
1358#define EV_EN_REQRESIZE(id, method) OWL_EV_NOTIFICATION(EN_REQUESTRESIZE, id, method)
1363#define EV_EN_SELCHANGE(id, method) OWL_EV_NOTIFICATION(EN_SELCHANGE, id, method)
1374#define EV_UDN_DELTAPOS(id, method) OWL_EV_NOTIFICATION(UDN_DELTAPOS, id, method)
1385#define EV_TTN_GETDISPINFO(id, method) OWL_EV_NOTIFICATION(TTN_GETDISPINFO, id, method)
1391#define EV_TTN_NEEDTEXT(id, method) EV_TTN_GETDISPINFO(id, method)
1396#define EV_TTN_POP(id, method) OWL_EV_NOTIFICATION(TTN_POP, id, method)
1401#define EV_TTN_SHOW(id, method) OWL_EV_NOTIFICATION(TTN_SHOW, id, method)
1412#define EV_TVN_BEGINDRAG(id, method) OWL_EV_NOTIFICATION(TVN_BEGINDRAG, id, method)
1417#define EV_TVN_BEGINLABELEDIT(id, method) OWL_EV_NOTIFICATION(TVN_BEGINLABELEDIT, id, method)
1422#define EV_TVN_BEGINRDRAG(id, method) OWL_EV_NOTIFICATION(TVN_BEGINRDRAG, id, method)
1427#define EV_TVN_DELETEITEM(id, method) OWL_EV_NOTIFICATION(TVN_DELETEITEM, id, method)
1432#define EV_TVN_ENDLABELEDIT(id, method) OWL_EV_NOTIFICATION(TVN_ENDLABELEDIT, id, method)
1437#define EV_TVN_GETDISPINFO(id, method) OWL_EV_NOTIFICATION(TVN_GETDISPINFO, id, method)
1442#define EV_TVN_GETINFOTIP(id, method) OWL_EV_NOTIFICATION(TVN_GETINFOTIP, id, method)
1447#define EV_TVN_ITEMEXPANDED(id, method) OWL_EV_NOTIFICATION(TVN_ITEMEXPANDED, id, method)
1452#define EV_TVN_ITEMEXPANDING(id, method) OWL_EV_NOTIFICATION(TVN_ITEMEXPANDING, id, method)
1457#define EV_TVN_KEYDOWN(id, method) OWL_EV_NOTIFICATION(TVN_KEYDOWN, id, method)
1462#define EV_TVN_SELCHANGED(id, method) OWL_EV_NOTIFICATION(TVN_SELCHANGED, id, method)
1467#define EV_TVN_SELCHANGING(id, method) OWL_EV_NOTIFICATION(TVN_SELCHANGING, id, method)
1472#define EV_TVN_SETDISPINFO(id, method) OWL_EV_NOTIFICATION(TVN_SETDISPINFO, id, method)
1477#define EV_TVN_SINGLEEXPAND(id, method) OWL_EV_NOTIFICATION(TVN_SINGLEEXPAND, id, method)
1482#define EV_NM_TVSTATEIMAGECHANGING(id, method) OWL_EV_NOTIFICATION(NM_TVSTATEIMAGECHANGING, id, method)
1493#define EV_LVN_BEGINDRAG(id, method) OWL_EV_NOTIFICATION(LVN_BEGINDRAG, id, method)
1498#define EV_LVN_BEGINLABELEDIT(id, method) OWL_EV_NOTIFICATION(LVN_BEGINLABELEDIT, id, method)
1503#define EV_LVN_BEGINRDRAG(id, method) OWL_EV_NOTIFICATION(LVN_BEGINRDRAG, id, method)
1508#define EV_LVN_COLUMNCLICK(id, method) OWL_EV_NOTIFICATION(LVN_COLUMNCLICK, id, method)
1513#define EV_LVN_DBLCLK(id, method) EV_NM_DBLCLK(id, method)
1519#define EV_LVN_DELETEALLITEMS(id, method) OWL_EV_NOTIFICATION(LVN_DELETEALLITEMS, id, method)
1524#define EV_LVN_DELETEITEM(id, method) OWL_EV_NOTIFICATION(LVN_DELETEITEM, id, method)
1529#define EV_LVN_ENDLABELEDIT(id, method) OWL_EV_NOTIFICATION(LVN_ENDLABELEDIT, id, method)
1534#define EV_LVN_GETDISPINFO(id, method) OWL_EV_NOTIFICATION(LVN_GETDISPINFO, id, method)
1539#define EV_LVN_GETINFOTIP(id, method) OWL_EV_NOTIFICATION(LVN_GETINFOTIP, id, method)
1544#define EV_LVN_HOTTRACK(id, method) OWL_EV_NOTIFICATION(LVN_HOTTRACK, id, method)
1549#define EV_LVN_INSERTITEM(id, method) OWL_EV_NOTIFICATION(LVN_INSERTITEM, id, method)
1554#define EV_LVN_ITEMACTIVATE(id, method) OWL_EV_NOTIFICATION(LVN_ITEMACTIVATE, id, method)
1559#define EV_LVN_ITEMCHANGED(id, method) OWL_EV_NOTIFICATION(LVN_ITEMCHANGED, id, method)
1564#define EV_LVN_ITEMCHANGING(id, method) OWL_EV_NOTIFICATION(LVN_ITEMCHANGING, id, method)
1569#define EV_LVN_KEYDOWN(id, method) OWL_EV_NOTIFICATION(LVN_KEYDOWN, id, method)
1574#define EV_LVN_MARQUEEBEGIN(id, method) OWL_EV_NOTIFICATION(LVN_MARQUEEBEGIN, id, method)
1579#define EV_LVN_ODCACHEHINT(id, method) OWL_EV_NOTIFICATION(LVN_ODCACHEHINT, id, method)
1584#define EV_LVN_ODFINDITEM(id, method) OWL_EV_NOTIFICATION(LVN_ODFINDITEM, id, method)
1589#define EV_LVN_ODSTATECHANGED(id, method) OWL_EV_NOTIFICATION(LVN_ODSTATECHANGED, id, method)
1594#define EV_LVN_SETDISPINFO(id, method) OWL_EV_NOTIFICATION(LVN_SETDISPINFO, id, method)
1605#define EV_RBN_AUTOSIZE(id, method) OWL_EV_NOTIFICATION(RBN_AUTOSIZE, id, method)
1610#define EV_RBN_BEGINDRAG(id, method) OWL_EV_NOTIFICATION(RBN_BEGINDRAG, id, method)
1615#define EV_RBN_CHILDSIZE(id, method) OWL_EV_NOTIFICATION(RBN_CHILDSIZE, id, method)
1620#define EV_RBN_DELETEDBAND(id, method) OWL_EV_NOTIFICATION(RBN_DELETEDBAND, id, method)
1625#define EV_RBN_DELETINGBAND(id, method) OWL_EV_NOTIFICATION(RBN_DELETINGBAND, id, method)
1630#define EV_RBN_ENDDRAG(id, method) OWL_EV_NOTIFICATION(RBN_ENDDRAG, id, method)
1636#define EV_RBN_GETOBJECT(id, method) OWL_EV_NOTIFICATION(RBN_GETOBJECT, id, method)
1641#define EV_RBN_HEIGHTCHANGE(id, method) OWL_EV_NOTIFICATION(RBN_HEIGHTCHANGE, id, method)
1646#define EV_RBN_LAYOUTCHANGED(id, method) OWL_EV_NOTIFICATION(RBN_LAYOUTCHANGED, id, method)
1657#define EV_CBEN_BEGINEDIT(id, method) OWL_EV_NOTIFICATION(CBEN_BEGINEDIT, id, method)
1662#define EV_CBEN_DELETEITEM(id, method) OWL_EV_NOTIFICATION(CBEN_DELETEITEM, id, method)
1667#define EV_CBEN_DRAGBEGIN(id, method) OWL_EV_NOTIFICATION(CBEN_DRAGBEGIN, id, method)
1672#define EV_CBEN_ENDEDIT(id, method) OWL_EV_NOTIFICATION(CBEN_ENDEDIT, id, method)
1677#define EV_CBEN_GETDISPINFO(id, method) OWL_EV_NOTIFICATION(CBEN_GETDISPINFO, id, method)
1682#define EV_CBEN_INSERTITEM(id, method) OWL_EV_NOTIFICATION(CBEN_INSERTITEM, id, method)
1693#define EV_MCN_GETDAYSTATE(id, method) OWL_EV_NOTIFICATION(MCN_GETDAYSTATE, id, method)
1698#define EV_MCN_SELCHANGE(id, method) OWL_EV_NOTIFICATION(MCN_SELCHANGE, id, method)
1703#define EV_MCN_SELECT(id, method) OWL_EV_NOTIFICATION(MCN_SELECT, id, method)
1714#define EV_PGN_CALCSIZE(id, method) OWL_EV_NOTIFICATION(PGN_CALCSIZE, id, method)
1719#define EV_PGN_SCROLL(id, method) OWL_EV_NOTIFICATION(PGN_SCROLL, id, method)
1730#define EV_IPN_FIELDCHANGED(id, method) OWL_EV_NOTIFICATION(IPN_FIELDCHANGED, id, method)
#define PRECONDITION(condition)
Class wrapper for management of color values.
void BtnShadow(const TColor &clr)
void BtnHighlight(const TColor &clr)
TColorScheme(const TColor &btn, const TColor &shad)
Structure sent with EN_DROPFILES notification.
Structure sent with EN_PROTECTED notification.
THdrNotify encapsulates the 'HD_NOTIFY' structure which is sent with the WM_NOTIFY messages sent by t...
TColor GetBkColor() const
TColor GetTextColor() const
A TListViewCtrl notification to repaint an item.
A TListViewCtrl notification that a key has been pressed.
Basic TListViewCtrl notification.
MonthCalendar Control notifications.
Structure sent with EN_MSGFILTER notification.
IP Address control notifications.
Pager Control notifications.
TNmUpDown is a wrapper of the NM_UPDOWN structure sent with notifications from an 'UpDown' control.
TNmUpDown(HWND hwnd, uint id, uint code, int pos, int delta)
TNotify is a thin wrapper around the NMHDR structure.
TNotify()
Constructor to create a TNotify object whose members are initialized to zero.
TPoint is a support class, derived from tagPOINT.
TRbHitTestInfo(const TPoint &point)
HIMAGELIST GetImageList()
void SetImageList(HIMAGELIST Images)
Structure sent with EN_REQUESTRESIZE notification.
Structure sent with EN_SELCHANGE notification.
Wrapper of the TC_KEYDOWN structure sent to the parent of a tabcontrol to notify that a key has been ...
TTabKeyDown()
TTabKeyDown contains information about a key press in a tab control.
TTooltipText identifies a tool for which text is to be displayed.
void CopyText(const tstring &s)
TColor GetTextColor() const
TColor GetBkColor() const
A TTreeViewCtrl notification to repaint an item.
A TTreeViewCtrl notification for hit-testing.
A TTreeViewCtrl notification that a key has been pressed.
Basic TTreeViewCtrl notification.
Exception object thrown by the Common Control wrappers of ObjectWindows.
TXOwl is root class of the ObjectWindows exception hierarchy.
Definition of classes for CommonControl encapsulation.
Definition of class TControl.
Definition of class TModule.
Object Windows Library (OWLNext Core)
void InitializeCommonControls(uint controlFlags)
Wrapper for the Windows API function InitCommmonControlsEx.
TTvDispInfoNotify TTwDispInfoNotify
TLvOdStateChanged TLwOdStateChanged
UINT TMsgId
Message ID type.
TLvCacheHint TLwCacheHint
TLvGetInfoTip TLwGetInfoTip
TTvKeyDownNotify TTwKeyDownNotify
tstring CopyText(int size, TGetText get_text)
Copies text from a C-string (null-terminated character array) into a string object,...
auto GetCommCtrlVersion() -> DWORD
Returns the version number of the Common Control library (ComCtl32.dll).
TLvCustomDraw TLwCustomDraw
TLvDispInfoNotify TLwDispInfoNotify
TTvCustomDraw TTwCustomDraw
LRESULT TResult
Result type.
TTvHitTestInfo TTwHitTestInfo
TTvGetInfoTip TTwGetInfoTip
TLvKeyDownNotify TLwKeyDownNotify
TLvItemActivate TLwItemActivate
#define OWL_DISABLE_WARNING_POP
#define OWL_DISABLE_WARNING_PUSH
#define OWL_DISABLE_WARNING_OLD_STYLE_CAST
Definition of class TRichEdit.
Definitions of Windows light-weight utility APIs: TSHReg, TSHPath.
static TResult Decode(void *i, TParam1, TParam2)
static TResult Decode(void *i, TParam1, TParam2 p2)
static THandlerResult Encode(F sendMessage, HWND wnd, TNmParam &n)
static TResult Decode(void *i, TParam1, TParam2)
THandlerResult_ THandlerResult
THandlerResult_ THandlerResult
static TResult Decode(void *i, TParam1, TParam2 p2)
static THandlerResult Encode(F sendMessage, HWND wnd, TNmParam &n)
static TResult Decode(void *i, TParam1 p1, TParam2 p2)
static THandlerResult Encode(F sendMessage, HWND wnd, NMHDR &nmhdr)
Undefined default template for dispatchers Template specialization is used to allow the compiler to l...