本文整理汇总了C++中UIManager::KeyDown方法的典型用法代码示例。如果您正苦于以下问题:C++ UIManager::KeyDown方法的具体用法?C++ UIManager::KeyDown怎么用?C++ UIManager::KeyDown使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UIManager
的用法示例。
在下文中一共展示了UIManager::KeyDown方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FilterMessage
/**
* @brief Filters message.
* @param[in,out] msg message.
* @return false to skip this message. true to dispatch this message.
*/
bool WinSkinWindow::FilterMessage(MSG* msg)
{
if (msg->hwnd != m_hWnd)
return true;
if (WM_KEYDOWN == msg->message || WM_SYSKEYDOWN == msg->message)
{
// マウスボタン、修飾キーは無視
switch (msg->wParam)
{
case VK_LBUTTON:
case VK_RBUTTON:
case VK_MBUTTON:
case VK_SHIFT:
case VK_CONTROL:
case VK_MENU:
return true;
}
UIManager* uiManager = getUIManager();
ASSERT(NULL != uiManager);
if (NULL != uiManager)
{
KeyEventParameter parameter;
UInt32 modifiers = 0;
modifiers |= ((::GetKeyState(VK_SHIFT) & 0x8000) ? KeyEventParameter::ModifierMask_Shift : 0);
modifiers |= ((::GetKeyState(VK_CONTROL) & 0x8000) ? KeyEventParameter::ModifierMask_Ctrl : 0);
modifiers |= ((::GetKeyState(VK_MENU) & 0x8000) ? KeyEventParameter::ModifierMask_Alt : 0);
parameter.SetKeyCode(static_cast<DWORD>(msg->wParam));
parameter.SetModifiers(modifiers);
return uiManager->KeyDown(parameter);
}
}
return true;
}