本文整理汇总了C++中COptionTreeItem::IsRootLevel方法的典型用法代码示例。如果您正苦于以下问题:C++ COptionTreeItem::IsRootLevel方法的具体用法?C++ COptionTreeItem::IsRootLevel怎么用?C++ COptionTreeItem::IsRootLevel使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类COptionTreeItem
的用法示例。
在下文中一共展示了COptionTreeItem::IsRootLevel方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HitTest
long COptionTree::HitTest(const POINT &pt)
{
// Declare variables
COptionTreeItem* otiItem;
POINT ptPoint = pt;
CRect rcLabel;
// Convert screen to tree coordinates
ptPoint.y += m_ptOrigin.y;
// Run the hit test
if ((otiItem = FindItem(pt)) != NULL)
{
// -- Column
if (!otiItem->IsRootLevel() && pt.x >= m_ptOrigin.x - OT_COLRNG && pt.x <= m_ptOrigin.x + OT_COLRNG)
{
return OT_HIT_COLUMN;
}
// -- Attribute
if (pt.x > m_ptOrigin.x + OT_COLRNG)
{
return OT_HIT_ATTRIBUTE;
}
// -- Expand
if (otiItem->HitExpand(ptPoint))
{
return OT_HIT_EXPAND;
}
// -- Label
return OT_HIT_LABEL;
}
// -- Client
return OT_HIT_CLIENT;
}
示例2: OnKeyDown
void COptionTreeList::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// Declare variables
COptionTreeItem* otiItem;
CRect rcClient;
// Get client rectangle
GetClientRect(rcClient);
// Validate option
if (m_otOption == NULL)
{
CWnd::OnKeyDown(nChar, nRepCnt, nFlags);
return;
}
// See if disabled
if (m_otOption->IsDisableInput() || !m_otOption->IsWindowEnabled())
{
CWnd::OnKeyDown(nChar, nRepCnt, nFlags);
return;
}
switch (nChar)
{
case VK_TAB:
// -- Shift
if (GetKeyState(VK_SHIFT) < 0)
{
// -- -- Focus next
otiItem = m_otOption->GetFocusedItem();
if (otiItem != NULL && !otiItem->IsRootLevel())
{
m_otOption->FocusPrev();
}
// -- -- Activate
otiItem = m_otOption->GetFocusedItem();
if (otiItem != NULL && !otiItem->IsRootLevel() && !otiItem->IsReadOnly())
{
otiItem->Activate();
}
Invalidate();
UpdateWindow();
}
// -- No shift
else
{
// -- -- Focus next
otiItem = m_otOption->GetFocusedItem();
if (otiItem != NULL && !otiItem->IsRootLevel())
{
m_otOption->FocusNext();
}
// -- -- Activate
otiItem = m_otOption->GetFocusedItem();
if (otiItem != NULL && !otiItem->IsRootLevel() && !otiItem->IsReadOnly())
{
otiItem->Activate();
}
Invalidate();
UpdateWindow();
}
break;
case VK_RETURN:
// -- Activate
otiItem = m_otOption->GetFocusedItem();
if (otiItem != NULL && !otiItem->IsRootLevel() && !otiItem->IsReadOnly())
{
otiItem->Activate();
}
break;
case VK_HOME:
// -- Focus on first item
if (m_otOption->FocusFirst())
{
Invalidate();
UpdateWindow();
}
break;
case VK_END:
// -- Focus on last item
if (m_otOption->FocusLast())
{
Invalidate();
//.........这里部分代码省略.........
示例3: OnLButtonDblClk
void COptionTreeList::OnLButtonDblClk(UINT nFlags, CPoint point)
{
// Validate option
if (m_otOption == NULL)
{
CWnd::OnLButtonDblClk(nFlags, point);
return;
}
// See if disabled
if (m_otOption->IsDisableInput() || !m_otOption->IsWindowEnabled())
{
CWnd::OnLButtonDblClk(nFlags, point);
return;
}
// Declare variables
COptionTreeItem *otiItem;
COptionTreeItem *oliOldFocus;
CRect rcClient, rcLabel;
// Send notify to user
m_otOption->SendNotify(NM_DBLCLK);
// Get client rect
GetClientRect(rcClient);
// Hit test
if ((otiItem = m_otOption->FindItem(point)) != NULL && otiItem->GetChild())
{
switch (m_otOption->HitTest(point))
{
case OT_HIT_COLUMN:
// -- Get largest visible label
rcLabel = m_otOption->GetLargestVisibleLabel();
// -- Resize limit
// -- -- Right
if (rcLabel.right + OT_SPACE > (rcClient.right - OT_RESIZEBUFFER))
{
// -- -- -- Set column
m_otOption->SetColumn(rcClient.right - OT_RESIZEBUFFER);
}
else
{
// -- -- -- Set column
m_otOption->SetColumn(rcLabel.right + OT_SPACE);
}
// -- Update move items
m_otOption->UpdateMoveAllItems();
// -- Force redraw
Invalidate();
// -- Update window
UpdateWindow();
break;
case OT_HIT_ATTRIBUTE:
if (!otiItem->IsRootLevel())
{
break;
}
default:
// -- Get focus item
oliOldFocus = m_otOption->GetFocusedItem();
// -- Select items
m_otOption->SelectItems(NULL, FALSE);
// -- Set focus item
m_otOption->SetFocusedItem(otiItem);
// -- Select
otiItem->Select();
// -- Send notify to user
if (otiItem != oliOldFocus)
{
m_otOption->SendNotify(OT_NOTIFY_SELCHANGE, otiItem);
}
case OT_HIT_EXPAND:
if (!m_otOption->SendNotify(OT_NOTIFY_ITEMEXPANDING, otiItem))
{
// -- Expand
otiItem->Expand(!otiItem->IsExpanded());
// -- Update resize
UpdateResize();
// -- Force redraw
Invalidate();
//.........这里部分代码省略.........
示例4: OnLButtonDown
//.........这里部分代码省略.........
}
// -- Set capture
m_bColDrag = TRUE;
SetCapture();
m_lColumn = m_otOption->GetOrigin().x;
// -- Force redraw
Invalidate();
// -- Update window
UpdateWindow();
break;
case OT_HIT_EXPAND:
if ((otiItem = m_otOption->FindItem(point)) != NULL)
{
if (otiItem->GetChild() && !m_otOption->SendNotify(OT_NOTIFY_ITEMEXPANDING, otiItem))
{
// -- Expand
otiItem->Expand(!otiItem->IsExpanded());
// -- Update resize
UpdateResize();
// -- Force redraw
Invalidate();
// -- Update window
UpdateWindow();
// -- Check visible
CheckVisibleFocus();
}
}
break;
default:
if ((otiItem = m_otOption->FindItem(point)) != NULL)
{
// -- Get old focus
oliOldFocus = m_otOption->GetFocusedItem();
// -- Select items
m_otOption->SelectItems(NULL, FALSE);
// -- Select
otiItem->Select();
// -- Make sure new item
if (otiItem != oliOldFocus)
{
m_otOption->SendNotify(OT_NOTIFY_SELCHANGE, otiItem);
}
// -- Send notify
if (lHit == OT_HIT_ATTRIBUTE && !otiItem->IsRootLevel())
{
if (!m_otOption->SendNotify(OT_NOTIFY_PROPCLICK, otiItem) && !otiItem->IsReadOnly())
{
otiItem->Activate();
}
}
// -- Set focus item
m_otOption->SetFocusedItem(otiItem);
// -- Force redraw
Invalidate();
// -- Update window
UpdateWindow();
}
else
{
// -- Select items
m_otOption->SelectItems(NULL, FALSE);
// -- Set focus item
m_otOption->SetFocusedItem(NULL);
// -- Send notify
m_otOption->SendNotify(OT_NOTIFY_SELCHANGE);
// -- Force redraw
Invalidate();
// -- Update window
UpdateWindow();
}
break;
}
CWnd::OnLButtonDown(nFlags, point);
}