#ifndef _IMAGELIST_TREEVIEWMESSAGEHEADER_HPP_ #define _IMAGELIST_TREEVIEWMESSAGEHEADER_HPP_ #ifndef _COMMON_NOTIFYMESSAGEHEADER_HPP_ #include #endif #ifndef _IMAGELIST_TREEVIEWITEM_HPP_ #include #endif #ifndef _COMMON_GDIPOINT_HPP_ #include #endif class TreeViewMessageHeader : private NM_TREEVIEW { public: TreeViewMessageHeader(void); TreeViewMessageHeader(const TreeViewMessageHeader &someTreeViewMessageHeader); TreeViewMessageHeader(const NM_TREEVIEW &someNMTREEVIEW); virtual ~TreeViewMessageHeader(); TreeViewMessageHeader &operator=(const TreeViewMessageHeader &someTreeViewMessageHeader); TreeViewMessageHeader &operator=(const NM_TREEVIEW &someNMTREEVIEW); WORD operator==(const TreeViewMessageHeader &someTreeViewMessageHeader)const; WORD operator==(const NM_TREEVIEW &someNMTREEVIEW)const; NotifyMessageHeader nmHeader(void)const; UINT action(void)const; TreeViewItem itemOld(void)const; TreeViewItem itemNew(void)const; GDIPoint pointDrag(void)const; private: void init(void); void nmHeader(NotifyMessageHeader &tvMessageHeader); void action(UINT tvAction); void itemOld(const TreeViewItem &tvItemOld); void itemNew(const TreeViewItem &tvItemNew); void pointDrag(const GDIPoint &tvDrawPoint); }; inline TreeViewMessageHeader::TreeViewMessageHeader(void) { init(); } inline TreeViewMessageHeader::TreeViewMessageHeader(const TreeViewMessageHeader &someTreeViewMessageHeader) { *this=someTreeViewMessageHeader; } inline TreeViewMessageHeader::TreeViewMessageHeader(const NM_TREEVIEW &someNMTREEVIEW) { *this=someNMTREEVIEW; } inline TreeViewMessageHeader::~TreeViewMessageHeader() { } inline TreeViewMessageHeader &TreeViewMessageHeader::operator=(const TreeViewMessageHeader &someTreeViewMessageHeader) { nmHeader(someTreeViewMessageHeader.nmHeader()); action(someTreeViewMessageHeader.action()); itemOld(someTreeViewMessageHeader.itemOld()); itemNew(someTreeViewMessageHeader.itemNew()); pointDrag(someTreeViewMessageHeader.pointDrag()); return *this; } inline TreeViewMessageHeader &TreeViewMessageHeader::operator=(const NM_TREEVIEW &someNMTREEVIEW) { NM_TREEVIEW::hdr=someNMTREEVIEW.hdr; NM_TREEVIEW::action=someNMTREEVIEW.action; NM_TREEVIEW::itemOld=someNMTREEVIEW.itemOld; NM_TREEVIEW::itemNew=someNMTREEVIEW.itemNew; NM_TREEVIEW::ptDrag=someNMTREEVIEW.ptDrag; return *this; } inline WORD TreeViewMessageHeader::operator==(const TreeViewMessageHeader &someTreeViewMessageHeader)const { return (nmHeader()==someTreeViewMessageHeader.nmHeader()&& action()==someTreeViewMessageHeader.action()&& itemOld()==someTreeViewMessageHeader.itemOld()&& itemNew()==someTreeViewMessageHeader.itemNew()&& pointDrag()==someTreeViewMessageHeader.pointDrag()); } inline WORD TreeViewMessageHeader::operator==(const NM_TREEVIEW &someNMTREEVIEW)const { return (NotifyMessageHeader(NM_TREEVIEW::hdr)==NotifyMessageHeader(someNMTREEVIEW.hdr)&& NM_TREEVIEW::action==someNMTREEVIEW.action&& TreeViewItem(NM_TREEVIEW::itemOld)==TreeViewItem(someNMTREEVIEW.itemOld)&& TreeViewItem(NM_TREEVIEW::itemNew)==TreeViewItem(someNMTREEVIEW.itemNew)&& NM_TREEVIEW::ptDrag.x==someNMTREEVIEW.ptDrag.x&& NM_TREEVIEW::ptDrag.y==someNMTREEVIEW.ptDrag.y); } inline NotifyMessageHeader TreeViewMessageHeader::nmHeader(void)const { return NM_TREEVIEW::hdr; } inline void TreeViewMessageHeader::nmHeader(NotifyMessageHeader &tvMessageHeader) { NM_TREEVIEW::hdr=(NMHDR&)tvMessageHeader; } inline UINT TreeViewMessageHeader::action(void)const { return NM_TREEVIEW::action; } inline void TreeViewMessageHeader::action(UINT tvAction) { NM_TREEVIEW::action=tvAction; } inline TreeViewItem TreeViewMessageHeader::itemOld(void)const { return NM_TREEVIEW::itemOld; } inline void TreeViewMessageHeader::itemOld(const TreeViewItem &tvItemOld) { NM_TREEVIEW::itemOld=(TV_ITEM&)tvItemOld; } inline TreeViewItem TreeViewMessageHeader::itemNew(void)const { return NM_TREEVIEW::itemNew; } inline void TreeViewMessageHeader::itemNew(const TreeViewItem &tvItemNew) { NM_TREEVIEW::itemOld=(TV_ITEM&)tvItemNew; } inline GDIPoint TreeViewMessageHeader::pointDrag(void)const { GDIPoint dragPoint; dragPoint.x(NM_TREEVIEW::ptDrag.x); dragPoint.y(NM_TREEVIEW::ptDrag.y); return dragPoint; } inline void TreeViewMessageHeader::pointDrag(const GDIPoint &tvDrawPoint) { NM_TREEVIEW::ptDrag=(POINT&)tvDrawPoint; } inline void TreeViewMessageHeader::init(void) { ::memset(&((NM_TREEVIEW&)*this),0,sizeof(NM_TREEVIEW)); } #endif