MFC中WM_KEYUP和WM_KEYDOWN的用法

怎么使用这俩个函数实现对整型变量+1的功能???谁能给我个例子???具体怎么弄呢??能不能给出实现我说的那个功能的代码,只要那俩个消息函数就行了... 怎么使用这俩个函数实现对整型变量+1的功能???谁能给我个例子???
具体怎么弄呢??能不能给出实现我说的那个功能的代码,只要那俩个消息函数就行了
展开
 我来答
fengyunhbs
推荐于2016-07-22 · TA获得超过162个赞
知道答主
回答量:132
采纳率:0%
帮助的人:0
展开全部
有几个东西你得明白一下:
一,WM_KEYUP和WM_KEYDOWN是消息
二,在MFC中,消息是由类响应的,你在对话框中按键了,你可以对话框类中进行响应(也就是对一整型变量+1)

以下为在主框架类中进行WM_KEYUP响应。
你用MFC建一单文档工程时会自动生成一个CMainFrame类,你右击这个类名(在类视图中)点击添加一个成员变量(可以设为你想要的类型)比如类型(第一个文本框)int 变量名(第二个文件框)设为abc,下面设为public.
第二步,给这个变量一个初值。你双击CMainFrame类的构造函数(这个应该知道吧),在函数最后你加一行:
abc=0;
得加在return函数之前啊!

第三步对CMainFrame类的WM_KEYUP(DOWN随你高兴用那个)进行消息响应。操作为:右击CMainFrame类名选添加消息响应(英文应该是Add window Message Handle……)然后在弹出的窗口中的左边的消息框中找到WM_KEYUP消息后双击,再对这个消息响应进行代码编辑(点edit exiting)
在里面输一行代码就可了:
abc++;

自学难啊,加油!
gift925
2009-12-02 · TA获得超过557个赞
知道小有建树答主
回答量:659
采纳率:0%
帮助的人:502万
展开全部
这两个不是函数。而是消息。意义为键盘上的某个键弹起和按下。至于按的是哪个键,是通过另外一个参数传递的。具体是lparam还是wparam我忘了。

你要对这两个消息进行处理,可以重载OnKeyDown和OnKeyUp进行处理。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c6c78e9
2009-12-02 · TA获得超过2283个赞
知道小有建树答主
回答量:620
采纳率:0%
帮助的人:995万
展开全部
afx_msg void OnKeyDown(
UINT nChar,
UINT nRepCnt,
UINT nFlags
)
{
if( nChar == VK_RETURN )
m_iValue ++;
}
afx_msg void OnKeyUp(
UINT nChar,
UINT nRepCnt,
UINT nFlags
)
{
if( nChar == VK_RETURN )
m_iValue ++;
}

WM_KEY***的wParam参数是Virtual-key Code, lParam表示扫描码、重复次数等其他乱七八糟的含义。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
赤水云
推荐于2016-05-11 · TA获得超过5029个赞
知道大有可为答主
回答量:2362
采纳率:86%
帮助的人:904万
展开全部
WM_KEYUP和WM_KEYDOWN是消息
在MFC中,消息是由类响应的,在对话框中按键了,可以对话框类中进行响应

以下为在主框架类中进行WM_KEYUP响应。
用MFC建一单文档工程时会自动生成一个CMainFrame类,右击这个类名(在类视图中)点击添加一个成员变量,比如类型(第一个文本框)int 变量名(第二个文件框)设为abc,下面设为public.
第二步,给这个变量一个初值。双击CMainFrame类的构造函数,在函数最后加一行:
abc=0;
要加在return函数之前!

第三步对CMainFrame类的WM_KEYUP(DOWN)进行消息响应。操作为:右击CMainFrame类名选添加消息响应然后在弹出的窗口中的左边的消息框中找到WM_KEYUP消息后双击,再对这个消息响应进行代码编辑(点edit exiting)
在里面输一行代码即可:
abc++;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式