本文整理汇总了C++中COleClientItem::GetItemState方法的典型用法代码示例。如果您正苦于以下问题:C++ COleClientItem::GetItemState方法的具体用法?C++ COleClientItem::GetItemState怎么用?C++ COleClientItem::GetItemState使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类COleClientItem
的用法示例。
在下文中一共展示了COleClientItem::GetItemState方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnSetFocus
// 在就地编辑一个对象时,容器需要对 OnSetFocus 和 OnSize
// 进行特殊处理
void CClientView::OnSetFocus(CWnd* pOldWnd)
{
COleClientItem* pActiveItem = GetDocument()->GetInPlaceActiveItem(this);
if (pActiveItem != NULL &&
pActiveItem->GetItemState() == COleClientItem::activeUIState)
{
// 如果该项处于同一视图中,则需要将焦点设置到该项
CWnd* pWnd = pActiveItem->GetInPlaceWindow();
if (pWnd != NULL)
{
pWnd->SetFocus(); // 不要调用基类
return;
}
}
CView::OnSetFocus(pOldWnd);
}
示例2: GetDocument
// Special handling of OnSetFocus and OnSize are required for a container
// when an object is being edited in-place.
void CMy1553View::OnSetFocus(CWnd* pOldWnd)
{
COleClientItem* pActiveItem = GetDocument()->GetInPlaceActiveItem(this);
if (pActiveItem != NULL &&
pActiveItem->GetItemState() == COleClientItem::activeUIState)
{
// need to set focus to this item if it is in the same view
CWnd* pWnd = pActiveItem->GetInPlaceWindow();
if (pWnd != NULL)
{
pWnd->SetFocus(); // don't call the base class
return;
}
}
CView::OnSetFocus(pOldWnd);
}
示例3: RecalcLayout
//*************************************************************************************
void CBCGPFrameWnd::RecalcLayout (BOOL bNotify)
{
if (m_bInRecalcLayout)
return;
m_bInRecalcLayout = TRUE;
BOOL bWasOleInPlaceActive = m_Impl.m_bIsOleInPlaceActive;
m_Impl.m_bIsOleInPlaceActive = FALSE;
COleClientItem* pActiveItem = GetInPlaceActiveItem ();
if (pActiveItem != NULL && pActiveItem->m_pInPlaceFrame != NULL &&
pActiveItem->GetItemState () == COleClientItem::activeUIState)
{
m_Impl.m_bIsOleInPlaceActive = TRUE;
m_Impl.m_bHadCaption = (GetStyle () & WS_CAPTION) != 0;
}
if (!m_bIsMinimized)
{
CView* pView = GetActiveView ();
if (m_dockManager.IsPrintPreviewValid () ||
m_pNotifyHook != NULL)
{
if (pView != NULL && pView->IsKindOf (RUNTIME_CLASS (CBCGPPrintPreviewView)))
{
m_dockManager.RecalcLayout (bNotify);
CRect rectClient = m_dockManager.GetClientAreaBounds ();
pView->SetWindowPos (NULL, rectClient.left, rectClient.top,
rectClient.Width (), rectClient.Height (),
SWP_NOZORDER | SWP_NOACTIVATE);
}
else
{
if (bNotify && m_pNotifyHook != NULL)
{
ActiveItemRecalcLayout ();
}
else
{
m_bInRecalcLayout = FALSE;
CFrameWnd::RecalcLayout (bNotify);
AdjustClientArea ();
}
}
}
else
{
m_dockManager.RecalcLayout (bNotify);
AdjustClientArea ();
}
}
m_bInRecalcLayout = FALSE;
if (bWasOleInPlaceActive != m_Impl.m_bIsOleInPlaceActive)
{
if (!m_Impl.m_bHadCaption)
{
if (m_Impl.m_bIsOleInPlaceActive)
{
ModifyStyle (0, WS_CAPTION);
}
else
{
ModifyStyle (WS_CAPTION, 0);
}
}
m_Impl.OnChangeVisualManager ();
SetWindowPos (NULL, -1, -1, -1, -1,
SWP_NOZORDER | SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE | SWP_FRAMECHANGED);
}
}