return true;
}
+bool wxTreeCtrl::MSWIsOnItem(unsigned flags) const
+{
+ unsigned mask = TVHT_ONITEM;
+ if ( HasFlag(wxTR_FULL_ROW_HIGHLIGHT) )
+ mask |= TVHT_ONITEMINDENT | TVHT_ONITEMRIGHT;
+
+ return (flags & mask) != 0;
+}
+
bool wxTreeCtrl::MSWHandleSelectionKey(unsigned vkey)
{
const bool bCtrl = wxIsCtrlDown();
m_htClickedItem.Unset();
- if ( !(tvht.flags & TVHT_ONITEM) )
+ if ( !MSWIsOnItem(tvht.flags) )
{
if ( tvht.flags & TVHT_ONITEMBUTTON )
{
}
}
- if ( !m_dragStarted &&
- (tvht.flags & TVHT_ONITEMSTATEICON ||
- tvht.flags & TVHT_ONITEMICON ||
- tvht.flags & TVHT_ONITEM) )
+ if ( !m_dragStarted && MSWIsOnItem(tvht.flags) )
{
processed = true;
}
::ScreenToClient(GetHwnd(), &tvhti.pt);
if ( TreeView_HitTest(GetHwnd(), &tvhti) )
{
- if ( tvhti.flags & TVHT_ONITEM )
+ if ( MSWIsOnItem(tvhti.flags) )
{
event.m_item = tvhti.hItem;
eventType = (int)hdr->code == NM_DBLCLK