MFC中WM_KEYUP和WM_KEYDOWN的用法

来源:百度知道 编辑:UC知道 时间:2024/06/13 00:52:37
怎么使用这俩个函数实现对整型变量+1的功能???谁能给我个例子???
具体怎么弄呢??能不能给出实现我说的那个功能的代码,只要那俩个消息函数就行了

有几个东西你得明白一下:
一,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++;

自学难啊,加油!

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表示扫描码、重复次数等其他乱七八糟的含义。

WM_KEYUP