?? fg_keymap.cpp
字號:
/*--------------------------------------------------------------------------
FG_KeyMap.cpp - 鍵盤映射表類的實現文件
本程序是FishGUI軟件的一部分
版權所有 (C) 2003,2004 王詠武
http://www.contextfree.net/wangyw/
----------------------------------------------------------------------------
作者對 FishGUI 軟件及其所有源代碼授權如下:
允許任何個人、組織、機構、企業無償獲得、修改、使用、重新發布 FishGUI 軟
件及其源代碼,或按照有償或者無償的方式發行基于 FishGUI 源代碼的全部或部
分內容開發的軟件產品,——但行使以上權利時,須遵守以下約定:
1、重新發布 FishGUI 軟件及其源代碼時,不得隱去軟件及其源代碼中原有的版
權信息和開發者標識。
2、發行基于 FishGUI 源代碼的全部或部分內容開發的軟件產品時,必須在產品
的顯著位置標明以下字樣:
【本產品的一部分功能是基于王詠武在 FishGUI 軟件中的工作完成的】
3、在正式出版物中引用 FishGUI 的文檔、源代碼或注釋內容的,應注明軟件的
原作者為王詠武。
--------------------------------------------------------------------------*/
/*! \addtogroup Framework
* @{
*/
/*! \file
* \brief 鍵盤映射表類的實現文件
*/
/*! @} */
#include "FG_KeyMap.h"
#if defined(WIN32) && defined(_DEBUG)
/* Trace memory allocation in windows debug version */
#include <crtdbg.h>
static char THIS_FILE[] = __FILE__;
#define new new(_NORMAL_BLOCK, __FILE__, __LINE__)
#endif /* _DEBUG */
//##ModelId=40925CC102B6
FG_KeyMap::~FG_KeyMap()
{
FG_KEYMAPLIST::iterator i;
for (i = m_KeyMapList.First(); ! i.IsDone(); ++ i)
delete i;
m_KeyMapList.RemoveAll();
}
//##ModelId=3F5EDD9E0335
bool FG_KeyMap::SendKey(FG_Message * pMsg)
{
FG_KEYMAPLIST::iterator i = m_KeyMapList.First();
FG_CheckOriginKey check((WORD)pMsg->lData);
if (FG_ListFind_If(i, check))
{
// 有控件注冊了該快捷鍵
FG_Message Msg = *pMsg;
Msg.lData = i->m_wActualKey; // 提供鍵值的轉換功能
return i->m_pTarget->Message(& Msg); // 發送鍵盤消息
}
return false;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -