Hex Artifact Content Вы: nobody
Вход

Artifact 2af4891eb1f5ce72b4b9e62eb941ba849d677986:


0000: 2f 2f 20 56 37 4b 65 79 62 6f 61 72 64 2e 63 70  // V7Keyboard.cp
0010: 70 3a 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  p: implementatio
0020: 6e 20 6f 66 20 74 68 65 20 43 56 37 4b 65 79 62  n of the CV7Keyb
0030: 6f 61 72 64 20 63 6c 61 73 73 2e 0d 0a 2f 2f 0d  oard class...//.
0040: 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  .///////////////
0050: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0060: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0070: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0080: 2f 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a 23 69 6e 63 6c  ///////....#incl
0090: 75 64 65 20 22 56 37 4b 65 79 62 6f 61 72 64 2e  ude "V7Keyboard.
00a0: 68 22 0d 0a 0d 0a 23 69 66 64 65 66 20 5f 44 45  h"....#ifdef _DE
00b0: 42 55 47 0d 0a 23 75 6e 64 65 66 20 54 48 49 53  BUG..#undef THIS
00c0: 5f 46 49 4c 45 0d 0a 73 74 61 74 69 63 20 63 68  _FILE..static ch
00d0: 61 72 20 54 48 49 53 5f 46 49 4c 45 5b 5d 3d 5f  ar THIS_FILE[]=_
00e0: 5f 46 49 4c 45 5f 5f 3b 0d 0a 23 64 65 66 69 6e  _FILE__;..#defin
00f0: 65 20 6e 65 77 20 44 45 42 55 47 5f 4e 45 57 0d  e new DEBUG_NEW.
0100: 0a 23 65 6e 64 69 66 0d 0a 0d 0a 0d 0a 43 56 37  .#endif......CV7
0110: 4b 65 79 62 6f 61 72 64 2a 20 70 56 37 4b 65 79  Keyboard* pV7Key
0120: 62 6f 61 72 64 20 3d 20 4e 55 4c 4c 3b 0d 0a 43  board = NULL;..C
0130: 56 37 4b 65 79 62 6f 61 72 64 2a 20 43 56 37 4b  V7Keyboard* CV7K
0140: 65 79 62 6f 61 72 64 3a 3a 47 65 74 56 37 4b 65  eyboard::GetV7Ke
0150: 79 62 6f 61 72 64 28 29 0d 0a 7b 0d 0a 09 69 66  yboard()..{...if
0160: 20 28 21 70 56 37 4b 65 79 62 6f 61 72 64 29 0d   (!pV7Keyboard).
0170: 0a 09 09 70 56 37 4b 65 79 62 6f 61 72 64 20 3d  ...pV7Keyboard =
0180: 20 28 43 56 37 4b 65 79 62 6f 61 72 64 2a 29 43   (CV7Keyboard*)C
0190: 42 4c 43 6f 6e 74 65 78 74 3a 3a 43 72 65 61 74  BLContext::Creat
01a0: 65 49 6e 73 74 61 6e 63 65 28 22 4b 65 79 62 6f  eInstance("Keybo
01b0: 61 72 64 22 29 3b 0d 0a 09 72 65 74 75 72 6e 20  ard");...return 
01c0: 70 56 37 4b 65 79 62 6f 61 72 64 3b 0d 0a 7d 0d  pV7Keyboard;..}.
01d0: 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  .../////////////
01e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
01f0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0200: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0210: 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 20 43 6f  /////////..// Co
0220: 6e 73 74 72 75 63 74 69 6f 6e 2f 44 65 73 74 72  nstruction/Destr
0230: 75 63 74 69 6f 6e 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f  uction..////////
0240: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0250: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0260: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0270: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a  //////////////..
0280: 43 56 37 4b 65 79 62 6f 61 72 64 3a 3a 43 56 37  CV7Keyboard::CV7
0290: 4b 65 79 62 6f 61 72 64 28 29 0d 0a 7b 0d 0a 0d  Keyboard()..{...
02a0: 0a 7d 0d 0a 0d 0a 43 56 37 4b 65 79 62 6f 61 72  .}....CV7Keyboar
02b0: 64 3a 3a 7e 43 56 37 4b 65 79 62 6f 61 72 64 28  d::~CV7Keyboard(
02c0: 29 0d 0a 7b 0d 0a 0d 0a 7d 0d 0a 0d 0a 42 4c 5f  )..{....}....BL_
02d0: 49 4e 49 54 5f 43 4f 4e 54 45 58 54 28 43 56 37  INIT_CONTEXT(CV7
02e0: 4b 65 79 62 6f 61 72 64 29 3b 0d 0a 0d 0a 42 4f  Keyboard);....BO
02f0: 4f 4c 20 43 56 37 4b 65 79 62 6f 61 72 64 3a 3a  OL CV7Keyboard::
0300: 47 65 74 4b 65 79 53 74 61 74 65 28 43 56 61 6c  GetKeyState(CVal
0310: 75 65 26 20 72 65 74 56 61 6c 2c 20 43 56 61 6c  ue& retVal, CVal
0320: 75 65 2a 2a 20 70 70 50 61 72 61 6d 73 29 0d 0a  ue** ppParams)..
0330: 7b 0d 0a 09 53 48 4f 52 54 20 73 74 61 74 65 20  {...SHORT state 
0340: 3d 20 3a 3a 47 65 74 4b 65 79 53 74 61 74 65 28  = ::GetKeyState(
0350: 70 70 50 61 72 61 6d 73 5b 30 5d 2d 3e 47 65 74  ppParams[0]->Get
0360: 4e 75 6d 65 72 69 63 28 29 29 3b 0d 0a 09 72 65  Numeric());...re
0370: 74 56 61 6c 20 3d 20 48 49 42 59 54 45 28 73 74  tVal = HIBYTE(st
0380: 61 74 65 29 20 3f 20 31 4c 20 3a 20 30 4c 3b 0d  ate) ? 1L : 0L;.
0390: 0a 09 2a 70 70 50 61 72 61 6d 73 5b 31 5d 20 3d  ..*ppParams[1] =
03a0: 20 4c 4f 42 59 54 45 28 73 74 61 74 65 29 20 3f   LOBYTE(state) ?
03b0: 20 31 4c 20 3a 20 30 4c 3b 0d 0a 09 72 65 74 75   1L : 0L;...retu
03c0: 72 6e 20 54 52 55 45 3b 0d 0a 7d 0d 0a 42 4f 4f  rn TRUE;..}..BOO
03d0: 4c 20 43 56 37 4b 65 79 62 6f 61 72 64 3a 3a 47  L CV7Keyboard::G
03e0: 65 74 4b 65 79 53 74 61 74 65 5f 47 65 74 44 65  etKeyState_GetDe
03f0: 66 56 61 6c 28 69 6e 74 20 6e 50 61 72 61 6d 2c  fVal(int nParam,
0400: 20 43 56 61 6c 75 65 2a 20 70 56 61 6c 75 65 29   CValue* pValue)
0410: 63 6f 6e 73 74 0d 0a 7b 0d 0a 09 69 66 20 28 6e  const..{...if (n
0420: 50 61 72 61 6d 20 3d 3d 20 31 29 0d 0a 09 7b 0d  Param == 1)...{.
0430: 0a 09 09 70 56 61 6c 75 65 2d 3e 52 65 73 65 74  ...pValue->Reset
0440: 28 29 3b 0d 0a 09 09 72 65 74 75 72 6e 20 54 52  ();....return TR
0450: 55 45 3b 0d 0a 09 7d 0d 0a 09 72 65 74 75 72 6e  UE;...}...return
0460: 20 46 41 4c 53 45 3b 0d 0a 7d 3b 0d 0a 0d 0a 42   FALSE;..};....B
0470: 4f 4f 4c 20 43 56 37 4b 65 79 62 6f 61 72 64 3a  OOL CV7Keyboard:
0480: 3a 47 65 74 4b 65 79 4e 61 6d 65 54 65 78 74 28  :GetKeyNameText(
0490: 43 56 61 6c 75 65 26 20 72 65 74 56 61 6c 2c 20  CValue& retVal, 
04a0: 43 56 61 6c 75 65 2a 2a 20 70 70 50 61 72 61 6d  CValue** ppParam
04b0: 73 29 0d 0a 7b 0d 0a 09 44 57 4f 52 44 20 64 77  s)..{...DWORD dw
04c0: 20 3d 20 70 70 50 61 72 61 6d 73 5b 30 5d 2d 3e   = ppParams[0]->
04d0: 47 65 74 4e 75 6d 65 72 69 63 28 29 3b 0d 0a 09  GetNumeric();...
04e0: 69 66 20 28 70 70 50 61 72 61 6d 73 5b 31 5d 2d  if (ppParams[1]-
04f0: 3e 47 65 74 4e 75 6d 65 72 69 63 28 29 20 3d 3d  >GetNumeric() ==
0500: 20 31 29 0d 0a 09 09 64 77 20 7c 3d 20 30 78 30   1)....dw |= 0x0
0510: 32 30 30 30 30 30 30 3b 0d 0a 0d 0a 09 43 53 74  2000000;.....CSt
0520: 72 69 6e 67 20 73 74 72 3b 0d 0a 09 73 74 72 2e  ring str;...str.
0530: 47 65 74 42 75 66 66 65 72 53 65 74 4c 65 6e 67  GetBufferSetLeng
0540: 74 68 28 35 30 29 3b 0d 0a 09 3a 3a 47 65 74 4b  th(50);...::GetK
0550: 65 79 4e 61 6d 65 54 65 78 74 28 64 77 2c 20 73  eyNameText(dw, s
0560: 74 72 2e 47 65 74 42 75 66 66 65 72 53 65 74 4c  tr.GetBufferSetL
0570: 65 6e 67 74 68 28 35 30 29 2c 20 35 30 29 3b 0d  ength(50), 50);.
0580: 0a 09 73 74 72 2e 52 65 6c 65 61 73 65 42 75 66  ..str.ReleaseBuf
0590: 66 65 72 28 29 3b 0d 0a 0d 0a 09 72 65 74 56 61  fer();.....retVa
05a0: 6c 20 3d 20 73 74 72 3b 0d 0a 09 72 65 74 75 72  l = str;...retur
05b0: 6e 20 54 52 55 45 3b 0d 0a 7d 0d 0a 42 4f 4f 4c  n TRUE;..}..BOOL
05c0: 20 43 56 37 4b 65 79 62 6f 61 72 64 3a 3a 47 65   CV7Keyboard::Ge
05d0: 74 4b 65 79 4e 61 6d 65 54 65 78 74 5f 47 65 74  tKeyNameText_Get
05e0: 44 65 66 56 61 6c 28 69 6e 74 20 6e 50 61 72 61  DefVal(int nPara
05f0: 6d 2c 20 43 56 61 6c 75 65 2a 20 70 56 61 6c 75  m, CValue* pValu
0600: 65 29 63 6f 6e 73 74 0d 0a 7b 0d 0a 09 69 66 20  e)const..{...if 
0610: 28 6e 50 61 72 61 6d 20 3d 3d 20 31 29 0d 0a 09  (nParam == 1)...
0620: 7b 0d 0a 09 09 70 56 61 6c 75 65 2d 3e 52 65 73  {....pValue->Res
0630: 65 74 28 29 3b 0d 0a 09 09 72 65 74 75 72 6e 20  et();....return 
0640: 54 52 55 45 3b 0d 0a 09 7d 0d 0a 09 72 65 74 75  TRUE;...}...retu
0650: 72 6e 20 46 41 4c 53 45 3b 0d 0a 7d 3b 0d 0a     rn FALSE;..};..