⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 virtkey.cpp

📁 《C++ Builder 5技术内幕》一书附带的程序源代码
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "VirtKey.h"

AnsiString MessageArr[5] = { "WM_CHAR", "WM_KEY", "WM_MOUSEMOVE", "WM_MOUSEDOWN", "WM_MOUSEUP" };
AnsiString ButtonArr[3]  = { "mbLeft", "mbRight", "mbCenter" };
AnsiString ShiftArr[8]   = { "ssShift", "ssAlt", "ssCtrl", "ssLeft", "ssRight", "ssMiddle", "ssDouble", "ssUnknown" };

AnsiString GetShift( TShiftState State )
{
  AnsiString S;
  for( int i = 0; i <= 7; i++ )
  {
    if( State.Contains( i ) )
      S = S + " " + ShiftArr[ i ];
  }
  return S;
}

AnsiString GetKey( WORD K )
{
  AnsiString S;
  switch( K )
  {
    case VK_LBUTTON   : S = "VK_LButton"; break;
    case VK_RBUTTON   : S = "VK_RBUTTON"; break;
    case VK_CANCEL    : S = "VK_CANCEL"; break;
    case VK_MBUTTON   : S = "VK_MBUTTON"; break;
    case VK_BACK      : S = "VK_BACK"; break;
    case VK_TAB       : S = "VK_TAB"; break;
    case VK_CLEAR     : S = "VK_CLEAR"; break;
    case VK_RETURN    : S = "VK_RETURN"; break;
    case VK_SHIFT     : S = "VK_SHIFT"; break;
    case VK_CONTROL   : S = "VK_CONTROL"; break;
    case VK_MENU      : S = "VK_MENU"; break;
    case VK_PAUSE     : S = "VK_PAUSE"; break;
    case VK_CAPITAL   : S = "VK_CAPITAL"; break;
    case VK_ESCAPE    : S = "VK_ESCAPE"; break;
    case VK_SPACE     : S = "VK_SPACE"; break;
    case VK_PRIOR     : S = "VK_PRIOR"; break;
    case VK_NEXT      : S = "VK_NEXT"; break;
    case VK_END       : S = "VK_END"; break;
    case VK_HOME      : S = "VK_HOME"; break;
    case VK_LEFT      : S = "VK_LEFT"; break;
    case VK_UP        : S = "VK_UP"; break;
    case VK_RIGHT     : S = "VK_RIGHT"; break;
    case VK_DOWN      : S = "VK_DOWN"; break;
    case VK_SELECT    : S = "VK_SELECT"; break;
    case VK_PRINT     : S = "VK_PRINT"; break;
    case VK_EXECUTE   : S = "VK_EXECUTE"; break;
    case VK_SNAPSHOT  : S = "VK_SNAPSHOT"; break;
    case VK_INSERT    : S = "VK_INSERT"; break;
    case VK_DELETE    : S = "VK_DELETE"; break;
    case VK_HELP      : S = "VK_HELP"; break;
    case VK_NUMPAD0   : S = "VK_NUMPAD0"; break;
    case VK_NUMPAD1   : S = "VK_NUMPAD1"; break;
    case VK_NUMPAD2   : S = "VK_NUMPAD2"; break;
    case VK_NUMPAD3   : S = "VK_NUMPAD3"; break;
    case VK_NUMPAD4   : S = "VK_NUMPAD4"; break;
    case VK_NUMPAD5   : S = "VK_NUMPAD5"; break;
    case VK_NUMPAD6   : S = "VK_NUMPAD6"; break;
    case VK_NUMPAD7   : S = "VK_NUMPAD7"; break;
    case VK_NUMPAD8   : S = "VK_NUMPAD8"; break;
    case VK_NUMPAD9   : S = "VK_NUMPAD9"; break;
    case VK_MULTIPLY  : S = "VK_MULTIPLY"; break;
    case VK_ADD       : S = "VK_ADD"; break;
    case VK_SEPARATOR : S = "VK_SEPARATOR"; break;
    case VK_SUBTRACT  : S = "VK_SUBTRACT"; break;
    case VK_DECIMAL   : S = "VK_DECIMAL"; break;
    case VK_DIVIDE    : S = "VK_DIVIDE"; break;
    case VK_F1        : S = "VK_F1"; break;
    case VK_F2        : S = "VK_F2"; break;
    case VK_F3        : S = "VK_F3"; break;
    case VK_F4        : S = "VK_F4"; break;
    case VK_F5        : S = "VK_F5"; break;
    case VK_F6        : S = "VK_F6"; break;
    case VK_F7        : S = "VK_F7"; break;
    case VK_F8        : S = "VK_F8"; break;
    case VK_F9        : S = "VK_F9"; break;
    case VK_F10       : S = "VK_F10"; break;
    case VK_F11       : S = "VK_F11"; break;
    case VK_F12       : S = "VK_F12"; break;
    case VK_F13       : S = "VK_F13"; break;
    case VK_F14       : S = "VK_F14"; break;
    case VK_F15       : S = "VK_F15"; break;
    case VK_F16       : S = "VK_F16"; break;
    case VK_F17       : S = "VK_F17"; break;
    case VK_F18       : S = "VK_F18"; break;
    case VK_F19       : S = "VK_F19"; break;
    case VK_F20       : S = "VK_F20"; break;
    case VK_F21       : S = "VK_F21"; break;
    case VK_F22       : S = "VK_F22"; break;
    case VK_F23       : S = "VK_F23"; break;
    case VK_F24       : S = "VK_F24"; break;
    case VK_NUMLOCK   : S = "VK_NUMLOCK"; break;
    case VK_SCROLL    : S = "VK_SCROLL"; break;
    default           : S = K;
  }
  return S;
}
//---------------------------------------------------------------------------
#pragma package(smart_init)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -