MFC 虚拟键值VK表

#define VK_LBUTTON        0x01  

#define VK_RBUTTON        0x02  

      #define VK_CANCEL         0x03  

      #define VK_MBUTTON        0x04      

      #define VK_BACK           0x08  

      #define VK_TAB            0x09  

      #define VK_CLEAR          0x0C  

      #define VK_RETURN         0x0D  

      #define VK_SHIFT          0x10  

      #define VK_CONTROL        0x11  

      #define VK_MENU           0x12  

      #define VK_PAUSE          0x13  

      #define VK_CAPITAL        0x14  

      #define VK_KANA           0x15  

      #define VK_HANGEUL        0x15          

      #define VK_HANGUL         0x15  

      #define VK_JUNJA          0x17  

      #define VK_FINAL          0x18  

      #define VK_HANJA          0x19  

      #define VK_KANJI          0x19  

      #define VK_ESCAPE         0x1B  

      #define VK_CONVERT        0x1C  

      #define VK_NONCONVERT     0x1D  

      #define VK_ACCEPT         0x1E  

      #define VK_MODECHANGE     0x1F  

      #define VK_SPACE          0x20  

      #define VK_PRIOR          0x21  

      #define VK_NEXT           0x22  

      #define VK_END            0x23  

      #define VK_HOME           0x24  

      #define VK_LEFT           0x25  

      #define VK_UP             0x26  

      #define VK_RIGHT          0x27  

      #define VK_DOWN           0x28  

      #define VK_SELECT         0x29  

      #define VK_PRINT          0x2A  

      #define VK_EXECUTE        0x2B  

      #define VK_SNAPSHOT       0x2C  

      #define VK_INSERT         0x2D  

      #define VK_DELETE         0x2E  

      #define VK_HELP           0x2F  

      /* VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39) */  

      /* VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) */  

      #define VK_LWIN           0x5B  

      #define VK_RWIN           0x5C  

      #define VK_APPS           0x5D  

      #define VK_NUMPAD0        0x60  

      #define VK_NUMPAD1        0x61  

      #define VK_NUMPAD2        0x62  

      #define VK_NUMPAD3        0x63  

      #define VK_NUMPAD4        0x64  

      #define VK_NUMPAD5        0x65  

      #define VK_NUMPAD6        0x66  

      #define VK_NUMPAD7        0x67  

      #define VK_NUMPAD8        0x68  

      #define VK_NUMPAD9        0x69  

      #define VK_MULTIPLY       0x6A  

      #define VK_ADD            0x6B  

      #define VK_SEPARATOR      0x6C  

      #define VK_SUBTRACT       0x6D  

      #define VK_DECIMAL        0x6E  

      #define VK_DIVIDE         0x6F  

      #define VK_F1             0x70  

      #define VK_F2             0x71  

      #define VK_F3             0x72  

      #define VK_F4             0x73  

      #define VK_F5             0x74  

      #define VK_F6             0x75  

      #define VK_F7             0x76  

      #define VK_F8             0x77  

      #define VK_F9             0x78  

      #define VK_F10            0x79  

      #define VK_F11            0x7A  

      #define VK_F12            0x7B  

      #define VK_F13            0x7C  

      #define VK_F14            0x7D  

      #define VK_F15            0x7E  

      #define VK_F16            0x7F  

      #define VK_F17            0x80  

      #define VK_F18            0x81  

      #define VK_F19            0x82  

      #define VK_F20            0x83  

      #define VK_F21            0x84  

      #define VK_F22            0x85  

      #define VK_F23            0x86  

      #define VK_F24            0x87  

      #define VK_NUMLOCK        0x90  

      #define VK_SCROLL         0x91  

A 至 Z 键与 A – Z 字母的 ASCII 码相同:   

值 描述/r   

65 A 键/r   

66 B 键/r   

67 C 键/r   

68 D 键/r   

69 E 键/r   

70 F 键/r   

71 G 键/r   

72 H 键/r   

73 I 键/r   

74 J 键/r   

75 K 键/r   

76 L 键/r   

77 M 键/r   

78 N 键/r   

79 O 键/r   

80 P 键/r   

81 Q 键/r   

82 R 键/r   

83 S 键/r   

84 T 键/r   

85 U 键/r   

86 V 键/r   

87 W 键/r   

88 X 键/r   

89 Y 键/r   

90 Z 键/r   

0 至 9 键与数字 0 – 9 的 ASCII 码相同:   

值 描述/r   

48 0 键/r   

49 1 键/r   

50 2 键/r   

51 3 键/r   

52 4 键/r   

53 5 键/r   

54 6 键/r   

55 7 键/r   

56 8 键/r   

57 9 键/r   

下列常数代表数字键盘上的键:   

值 描述/r   

0x60 0 键/r   

0x61 1 键/r   

0x62 2 键/r   

0x63 3 键/r   

0x64 4 键/r   

0x65 5 键/r   

0x66 6 键/r   

0x67 7 键/r   

0x68 8 键/r   

0x69 9 键/r

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MFC 中的虚拟(Virtual List)是一种特殊的列控件,它可以处理大量数据并提高列的效率和性能。与普通的列控件不同,虚拟只在需要显示时才加载数据,而不是在初始化时就全部加载。这样可以减少内存占用和提高响应速度,特别适合处理大量数据的场景。 在 MFC 中,可以通过 CListCtrl 类的 SetItemCount() 方法设置列的项数,然后使用 OnGetDispInfo() 方法来获取需要显示的数据。具体步骤如下: 1. 创建虚拟控件,并将其风格设置为`LVS_OWNERDATA`。 2. 在初始化过程中,使用`SetItemCount()`方法设置列的项数,该方法会触发`OnGetDispInfo()`方法。 3. 在`OnGetDispInfo()`方法中,根据需要显示的项和列,获取相应的数据并设置到`LVITEM`结构体中。 4. 在需要更新列时,调用`Invalidate()`方法强制刷新列。 下面是示例代码: ```c++ // 设置列项数 m_listCtrl.SetItemCount(nCount); // 获取需要显示的数据 void CMyDlg::OnGetDispInfo(NMHDR* pNMHDR, LRESULT* pResult) { NMLVDISPINFO* pDispInfo = reinterpret_cast<NMLVDISPINFO*>(pNMHDR); LVITEM& item = pDispInfo->item; // 获取需要显示的数据,并设置到 LVITEM 结构体中 item.mask = LVIF_TEXT; item.iItem = pDispInfo->item.iItem; item.iSubItem = pDispInfo->item.iSubItem; item.pszText = "Data to display"; *pResult = 0; } // 更新列 m_listCtrl.Invalidate(); ``` 需要注意的是,虚拟的使用需要结合具体的业务场景和数据量来评估和优化性能。在处理大量数据时,可以采用分页、延迟加载等技术来提高效率和响应速度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值