tkeydef.h
上传用户:tigerk9
上传日期:2020-03-10
资源大小:237k
文件大小:2k
源码类别:

Telnet客户端

开发平台:

Visual C++

  1. /////////////////////////////////////////////////////////
  2. //  TkeyDef - Key Definitions class           //
  3. //                   - keeped in an array container    //
  4. /////////////////////////////////////////////////////////
  5. #ifndef __TKEYDEF_H
  6. #define __TKEYDEF_H
  7. #include <windows.h>
  8. #ifndef __BORLANDC__ // Ioannou Dec. 8, 1998
  9. // We need these for MSVC6 (Sam Robertson Oct. 8, 1998)
  10. class TKeyDef;
  11. bool operator==(const TKeyDef &t1, const TKeyDef &t2);
  12. bool operator<(const TKeyDef &t1, const TKeyDef &t2);
  13. ////
  14. #endif
  15. // Paul Brannan Feb. 5, 1999
  16. enum tn_ops {TN_ESCAPE, TN_SCROLLBACK, TN_DIAL, TN_PASTE, TN_NULL, TN_CR, TN_CRLF};
  17. typedef struct {
  18. char sendstr;
  19. tn_ops the_op;
  20. } optype;
  21. union KeyDefType {
  22. char *szKeyDef;
  23. optype *op;
  24. };
  25. union KeyDefType_const {
  26. const char *szKeyDef;
  27. const optype *op;
  28. };
  29. class TKeyDef {
  30. private:
  31. KeyDefType uKeyDef;
  32. DWORD vk_code;
  33. DWORD dwState;
  34. public:
  35. TKeyDef();
  36. TKeyDef(char *def, DWORD state, DWORD code);
  37. TKeyDef(optype op, DWORD state, DWORD code);
  38. TKeyDef(const TKeyDef &t);
  39. char *operator=(char *def);
  40. DWORD  operator=(DWORD code);
  41. TKeyDef& operator=(const TKeyDef &t);
  42. const optype& operator=(optype op);
  43. ~TKeyDef();
  44. #ifdef __BORLANDC__
  45. int operator==(TKeyDef &t);
  46. #else
  47. // made these into friends for compatibility with stl
  48. // (Paul Brannan 5/7/98)
  49. friend bool operator==(const TKeyDef &t1, const TKeyDef &t2);
  50. friend bool operator<(const TKeyDef &t1, const TKeyDef &t2);
  51. #endif
  52. const char *GetszKey() { return uKeyDef.szKeyDef; }
  53. const KeyDefType GetKeyDef() { return uKeyDef; }
  54. DWORD GetCodeKey() { return vk_code; }
  55. };
  56. #endif