本文整理汇总了C++中CControlBase::GetPrevFocusableControl方法的典型用法代码示例。如果您正苦于以下问题:C++ CControlBase::GetPrevFocusableControl方法的具体用法?C++ CControlBase::GetPrevFocusableControl怎么用?C++ CControlBase::GetPrevFocusableControl使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CControlBase
的用法示例。
在下文中一共展示了CControlBase::GetPrevFocusableControl方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetPrevFocusableControl
// 获取上一个可以获取焦点的子控件
CControlBase* CDlgPopup::GetPrevFocusableControl()
{
BOOL bStartSearch = FALSE;
// 先按照焦点控件查找一次
for (int i = m_vecControl.size()-1; i >= 0; i--)
{
CControlBase* pControlBase = m_vecControl.at(i);
if (pControlBase && pControlBase->GetVisible() && !pControlBase->GetDisable() && bStartSearch && pControlBase->IsTabStop())
{
return pControlBase;
}else
if (pControlBase && (pControlBase == m_pFocusControl))
{
bStartSearch = TRUE;
}
}
// 再遍历子控件查找
if(m_pFocusControl == NULL)
{
bStartSearch = TRUE;
}
for (int i = m_vecControl.size()-1; i >= 0; i--)
{
CControlBase* pControlBase = m_vecControl.at(i);
if(m_pControl == NULL)
{
m_pControl = pControlBase;
}
if (pControlBase && pControlBase->GetVisible() && !pControlBase->GetDisable() && bStartSearch && pControlBase->IsTabStop())
{
return pControlBase;
}else
if (pControlBase && (pControlBase == m_pControl))
{
// 查找子控件
pControlBase = pControlBase->GetPrevFocusableControl(m_pFocusControl);
if(pControlBase != NULL)
{
return pControlBase;
}
//bStartSearch = TRUE;
}
}
return NULL;
}