Files
Work/imagelst/TVMSGHDR.HPP
2024-08-07 09:16:27 -04:00

173 lines
4.5 KiB
C++

#ifndef _IMAGELIST_TREEVIEWMESSAGEHEADER_HPP_
#define _IMAGELIST_TREEVIEWMESSAGEHEADER_HPP_
#ifndef _COMMON_NOTIFYMESSAGEHEADER_HPP_
#include <common/notify.hpp>
#endif
#ifndef _IMAGELIST_TREEVIEWITEM_HPP_
#include <imagelst/tvitem.hpp>
#endif
#ifndef _COMMON_GDIPOINT_HPP_
#include <common/gdipoint.hpp>
#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