#ifndef _IMAGELIST_TREEVIEWDISPLAYINFO_HPP_ #define _IMAGELIST_TREEVIEWDISPLAYINFO_HPP_ #ifndef _COMMON_NOTIFYMESSAGEHEADER_HPP_ #include #endif #ifndef _IMAGELIST_TREEVIEWITEM_HPP_ #include #endif class TreeViewDisplayInfo : private TV_DISPINFO { public: TreeViewDisplayInfo(void); TreeViewDisplayInfo(const TreeViewDisplayInfo &someTreeViewDisplayInfo); TreeViewDisplayInfo(const TV_DISPINFO &someTVDISPINFO); virtual ~TreeViewDisplayInfo(); TreeViewDisplayInfo &operator=(const TreeViewDisplayInfo &someTreeViewDisplayInfo); TreeViewDisplayInfo &operator=(const TV_DISPINFO &someTVDISPINFO); WORD operator==(const TreeViewDisplayInfo &someTreeViewDisplayInfo)const; WORD operator==(const TV_DISPINFO &someTVDISPINFO)const; operator TV_DISPINFO &(void); NotifyMessageHeader nmHeader(void)const; void nmHeader(const NotifyMessageHeader &someNotifyMessageHeader); TreeViewItem item(void)const; void item(const TreeViewItem &someTreeViewItem); private: void init(void); }; inline TreeViewDisplayInfo::TreeViewDisplayInfo(void) { init(); } inline TreeViewDisplayInfo::TreeViewDisplayInfo(const TreeViewDisplayInfo &someTreeViewDisplayInfo) { *this=someTreeViewDisplayInfo; } inline TreeViewDisplayInfo::TreeViewDisplayInfo(const TV_DISPINFO &someTVDISPINFO) { *this=someTVDISPINFO; } inline TreeViewDisplayInfo::~TreeViewDisplayInfo() { } inline TreeViewDisplayInfo &TreeViewDisplayInfo::operator=(const TreeViewDisplayInfo &someTreeViewDisplayInfo) { nmHeader(someTreeViewDisplayInfo.nmHeader()); item(someTreeViewDisplayInfo.item()); return *this; } inline TreeViewDisplayInfo &TreeViewDisplayInfo::operator=(const TV_DISPINFO &someTVDISPINFO) { (TV_DISPINFO&)*this=someTVDISPINFO; return *this; } inline WORD TreeViewDisplayInfo::operator==(const TreeViewDisplayInfo &someTreeViewDisplayInfo)const { return (nmHeader()==someTreeViewDisplayInfo.nmHeader()&& item()==someTreeViewDisplayInfo.item()); } inline WORD TreeViewDisplayInfo::operator==(const TV_DISPINFO &someTVDISPINFO)const { return (nmHeader()==NotifyMessageHeader(someTVDISPINFO.hdr)&& item()==TreeViewItem(someTVDISPINFO.item)); } inline TreeViewDisplayInfo::operator TV_DISPINFO &(void) { return *this; } inline NotifyMessageHeader TreeViewDisplayInfo::nmHeader(void)const { return TV_DISPINFO::hdr; } inline void TreeViewDisplayInfo::nmHeader(const NotifyMessageHeader &someNotifyMessageHeader) { TV_DISPINFO::hdr=(NMHDR&)someNotifyMessageHeader; } inline TreeViewItem TreeViewDisplayInfo::item(void)const { return TV_DISPINFO::item; } inline void TreeViewDisplayInfo::item(const TreeViewItem &someTreeViewItem) { TV_DISPINFO::item=(TV_ITEM&)someTreeViewItem; } inline void TreeViewDisplayInfo::init(void) { ::memset(&((TV_DISPINFO&)*this),0,sizeof(TV_DISPINFO)); } #endif