本文整理汇总了C++中CXTPToolBar::GetWindowRect方法的典型用法代码示例。如果您正苦于以下问题:C++ CXTPToolBar::GetWindowRect方法的具体用法?C++ CXTPToolBar::GetWindowRect怎么用?C++ CXTPToolBar::GetWindowRect使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CXTPToolBar
的用法示例。
在下文中一共展示了CXTPToolBar::GetWindowRect方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Insert
int CXTPDockBar::Insert(CXTPToolBar* pBarIns, CRect /*rect*/, CPoint ptMid)
{
ASSERT_VALID(this);
ASSERT(pBarIns != NULL);
int nPos = 0;
int nPosInsAfter = 0;
int nWidth = 0;
int nTotalWidth = 0;
//int nPosInsBefore = 0;
BOOL bHorz = m_dwStyle & CBRS_ORIENT_HORZ;
BOOL bAllowTopMost = pBarIns->IsRibbonBar() || m_pCommandBars->GetMenuBar() == NULL ||
!m_pCommandBars->GetMenuBar()->IsRibbonBar() || FindBar(m_pCommandBars->GetMenuBar()) == -1;
for (nPos = 0; nPos < m_arrBars.GetSize(); nPos++)
{
CXTPToolBar* pBar = GetDockedCommandBar(nPos);
if (pBar && !pBar->IsVisible())
continue;
if (pBar != NULL)
{
CRect rectBar;
pBar->GetWindowRect(&rectBar);
ScreenToClient(&rectBar);
nWidth = max(nWidth,
bHorz ? rectBar.bottom : rectBar.right);
}
else // end of row because pBar == NULL
{
if ((bHorz ? ptMid.y : ptMid.x) < nWidth && (bAllowTopMost || nPosInsAfter > 1))
{
if (nPos == 0 || ((bHorz ? ptMid.y : ptMid.x) == nTotalWidth)) // first section
m_arrBars.InsertAt(nPosInsAfter + 1, (CXTPToolBar*)NULL);
m_arrBars.InsertAt(nPosInsAfter + 1, pBarIns);
return nPosInsAfter + 1;
}
nTotalWidth = nWidth;
nWidth = 0;
nPosInsAfter = nPos;
}
}
// create a new row
m_arrBars.InsertAt(nPosInsAfter + 1, (CXTPToolBar*)NULL);
m_arrBars.InsertAt(nPosInsAfter + 1, pBarIns);
return nPosInsAfter + 1;
}