怎样从虚拟建virtual-key code得到键名KeyNameText?

mengxihe 2004-08-10 08:28:51
我知道这个函数,可是参数不是virtual-key code
int GetKeyNameText(
LONG lParam, // second parameter of keyboard message
LPTSTR lpString, // buffer for key name
int nSize // maximum length of key name
);
做程序键盘设置得时候,比如像左用光标键<-,是保存虚拟建还是保存lParam?保存虚拟键怎么得到KeyNameText?保存lParam怎么得到虚拟键?用
UINT MapVirtualKey(
UINT uCode, // virtual-key code or scan code
UINT uMapType // translation to perform
);
LEFT和NUM4是一样的-_-
谁有键盘设置的例子啊?
...全文
245 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mengxihe 2004-08-13
  • 打赏
  • 举报
回复
唉!256个KeyName要死人滴~~~~~~~-_-,偶把LPARAM保存了
angelcool 2004-08-11
  • 打赏
  • 举报
回复
xue xi
zhucde 2004-08-11
  • 打赏
  • 举报
回复
virtual-key code得到键名KeyNameText?

有这种对应关系吗?系统没有提供.

正如楼上所说,虚拟键值是一组宏定义,是用一些16进制数来表示的,
而并没有定义其KeyNameText?

LEFT和NUM4并不一样,它们是两个单独的键,
只有当Num Lock关闭了,NUM4不存在了,此时他响应了LEFT.


如果想得到你的目的,
那你自己像MFC一样,自己定义一组对应关系,
让其虚拟键值对应一个KeyNameText.

类似于:

switch(VKKEY)
{
case VK_LEFT:
KeyNameText="LEFT";
break;
....
....
}
huaguli 2004-08-11
  • 打赏
  • 举报
回复
up
howtotell 2004-08-11
  • 打赏
  • 举报
回复
所谓虚键值也就是一个long型的整数,而LPARAM也是,所以他们可以表示一个东西.键名和键值对应关系可以参见MFC的定义:
/*
* Virtual Keys, Standard Set
*/
#define VK_LBUTTON 0x01
#define VK_RBUTTON 0x02
#define VK_CANCEL 0x03
#define VK_MBUTTON 0x04 /* NOT contiguous with L & RBUTTON */

#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
.....................
mengxihe 2004-08-11
  • 打赏
  • 举报
回复
maxcode(zhangjianfang) : 你的代码是正确滴~~~~~~~~~~,但是对于我的问题是没有解决滴 -_-
maxcode 2004-08-10
  • 打赏
  • 举报
回复
在视图里得到:
BOOL CCT002View::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class

if (pMsg->message == WM_KEYDOWN)
{

CHAR pString[255];
::GetKeyNameText(pMsg->lParam,pString,255);
MessageBox(CString(pString));
}
return CView::PreTranslateMessage(pMsg);
}
刚在CSDN上学得PreTranslateMessage,在这里先用上一下
不知道对不对噢!
赖勇浩 2004-08-10
  • 打赏
  • 举报
回复
我以前做过俄罗斯方块,是两个都保存起来的。

但我想虚拟键值和lParam应该有个对应的转换关系的,找到这个关系也许就行了。
标题基于Spring Boot的骑行路线规划与分享平台研究AI更换标题第1章引言介绍骑行路线规划与分享平台的研究背景、意义、国内外现状以及本论文的方法和创新点。1.1研究背景与意义分析骑行运动普及和路线分享需求,阐述平台设计的必要性。1.2国内外研究现状概述国内外在骑行路线规划与分享方面的技术发展和应用现状。1.3研究方法与创新点说明本文采用的研究方法和实现的创新功能。第2章相关理论与技术介绍Spring Boot框架、路线规划算法和分享技术的基础理论。2.1Spring Boot框架概述解释Spring Boot的核心概念和优势,以及在本平台中的应用。2.2路线规划算法原理阐述常用的路线规划算法,如Dijkstra、A等,并分析其适用场景。2.3分享技术实现方式介绍平台实现路线分享所采用的技术手段,如社交媒体集成、二维码生成等。第3章平台需求分析与设计详细阐述骑行路线规划与分享平台的需求分析、系统设计和数据库设计。3.1需求分析从用户角度出发,分析平台应具备的功能和性能要求。3.2系统设计设计平台的整体架构、模块划分以及各模块之间的交互方式。3.3数据库设计根据平台需求,设计合理的数据库表结构和数据存取方式。第4章平台实现与测试说明平台的开发环境、关键模块的实现过程,以及系统测试的方法与结果。4.1开发环境搭介绍开发平台所需的软硬件环境及其配置方法。4.2关键模块实现详细描述路线规划、路线分享等核心功能的实现细节。4.3系统测试与性能评估对平台进行功能测试、性能测试,并分析结果以验证系统的稳定性和可靠性。第5章结论与展望总结本文的研究成果,指出不足之处,并展望未来的研究方向和改进措施。5.1研究结论概括性地阐述本文的主要研究内容和取得的成果。5.2未来工作展望针对当前研究的局限性,提出未来可能的改进方向和扩展功能。

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧