本文整理汇总了C++中CControlBase::OnKeyDown方法的典型用法代码示例。如果您正苦于以下问题:C++ CControlBase::OnKeyDown方法的具体用法?C++ CControlBase::OnKeyDown怎么用?C++ CControlBase::OnKeyDown使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CControlBase
的用法示例。
在下文中一共展示了CControlBase::OnKeyDown方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnKeyDown
// 键盘事件处理
BOOL CControlBase::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
if(!m_bIsVisible || !m_bRresponse) return false;
BOOL bRresponse = false;
// 判断当前活动控件
if(m_pControl && m_pControl->OnKeyDown(nChar, nRepCnt, nFlags))
{
return true;
}
// 控件自身是否可以处理此事件
if(OnControlKeyDown(nChar, nRepCnt, nFlags))
{
return true;
}
// 此控件没有处理,则遍历子控件看是否能处理
for (size_t i = 0; i < m_vecControl.size(); i++)
{
CControlBase * pControlBase = m_vecControl.at(i);
if (pControlBase && pControlBase->OnKeyDown(nChar, nRepCnt, nFlags))
{
return true;
}
}
return false;
}
示例2: OnKeyDown
void CDlgPopup::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// 当前控件是否能处理
if (m_pControl && m_pControl->OnKeyDown(nChar, nRepCnt, nFlags))
{
return;
}
// 子控件是否能处理
for (size_t i = 0; i < m_vecControl.size(); i++)
{
CControlBase * pControlBase = m_vecControl.at(i);
if (pControlBase && pControlBase->OnKeyDown(nChar, nRepCnt, nFlags))
{
return;
}
}
if(OnControlKeyDown(nChar, nRepCnt, nFlags))
{
return;
}
CWnd::OnKeyDown(nChar, nRepCnt, nFlags);
}
示例3: OnKeyDown
// 键盘事件处理
BOOL CControlBase::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
if(!m_bIsVisible || !m_bRresponse) return false;
BOOL bRresponse = false;
// 判断当前活动控件
if(m_pControl && m_pControl->OnKeyDown(nChar, nRepCnt, nFlags))
{
return true;
}
// 控件自身是否可以处理此事件
if(OnControlKeyDown(nChar, nRepCnt, nFlags))
{
// 发送键盘按下DUI消息
if(m_bDuiMsgKeyDown)
{
SendMessage(MSG_KEY_DOWN, (WPARAM)nChar, (LPARAM)nFlags);
}
return true;
}
// 此控件没有处理,则遍历子控件看是否能处理
for (size_t i = 0; i < m_vecControl.size(); i++)
{
CControlBase * pControlBase = m_vecControl.at(i);
if (pControlBase && pControlBase->OnKeyDown(nChar, nRepCnt, nFlags))
{
// 发送键盘按下DUI消息
if(m_bDuiMsgKeyDown)
{
SendMessage(MSG_KEY_DOWN, (WPARAM)nChar, (LPARAM)nFlags);
}
return true;
}
}
// 发送键盘按下DUI消息
if(m_bDuiMsgKeyDown)
{
SendMessage(MSG_KEY_DOWN, (WPARAM)nChar, (LPARAM)nFlags);
}
return false;
}