`
wo_deqing
  • 浏览: 64179 次
文章分类
社区版块
存档分类
最新评论

WM_KeyDown , OnKeyDown

 
阅读更多

case WM_KeyDown这个是消息处理,一般windows sdk中使用的方法。
OnKeyDown是mfc对消息处理的封装。
实际上两者都一样,只是mfc封装起来比较好看一些

。
当一个非系统键被按下时该消息发送给具有键盘焦点的窗口。非系统键即不与ALT联用的情况。
其中wParam 指定非系统键的虚拟键码, lParam 指定重复次数,扫描码,扩展键标识符,上下文代码,前一键状态标识符,以及转换状态标识符。
它们如下所示:
0-15
指定当前消息重复的次数。该值代表按键敲击的次数,就如同用户一直按下键盘按键一样。如果按键足够长,会发送多个消息。然而,重复次数不进行累加。
16-23
指定扫描码。该值取决于OEM。
24
指定键是否为扩展键,就如同101或102键盘内的右手的ATL和CTRL键。如果是一个扩展键,则该值是1,否则,它是0.
25-28
保留,未使用。
29
指定上下文代码,对于WM_KEYDOWN消息,该值总是0.
30
指定之前的键状态。如果在消息发送之前,键被按下,则该值是1,否则该值是0.
31
指定转换状态。对于WM_KEYDOWN消息,该值总是0.
返回值
应用程序如果处理了改消息,则返回值是0.
分享到:
评论

相关推荐

    基于对话框程序中让对话框捕获WM_KEYDOWN消息的实现方法

    ON_MESSAGE(WM_KEYDOWN, OnKeyDown) END_MESSAGE_MAP() // 添加一个处理WM_KEYDOWN消息的新函数 afx_msg LRESULT CWinSunApp::OnKeyDown(WPARAM wParam, LPARAM lParam) { // 在这里处理WM_KEYDOWN消息 // ...

    基本输入——键盘和鼠标消息.pdf

    这条宏指令会将WM_KEYDOWN消息与OnKeyDown()函数关联起来。 #### 3.2 处理函数 当应用程序接收到WM_KEYDOWN消息时,它会调用OnKeyDown()函数。在这个函数中,可以根据实际需求来处理键盘输入。例如,可以获取按键...

    VC消息映射与处理\基本键盘操作——判断按键消息

    5. **ON_WM_XXX**: 处理常见的Windows消息,如WM_KEYDOWN、WM_KEYUP等,用于键盘操作。 基本键盘操作主要涉及到两个关键消息:`WM_KEYDOWN`和`WM_KEYUP`。`WM_KEYDOWN`在用户按下键时发送,而`WM_KEYUP`则在用户...

    MFC_message.rar_MFC 键盘_MFC 键盘消息

    在上述代码中,`ON_WM_KEYDOWN()`、`ON_WM_KEYUP()`和`ON_WM_CHAR()`将消息与处理函数关联起来。接下来,你需要实现这些函数: ```cpp void CMyClass::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { // ...

    MFC中子控件响应键盘消息

    当用户按下键盘上的键时,Windows会发送一个键盘消息,如WM_KEYDOWN或WM_CHAR,到活动窗口。MFC通过ON_MESSAGE宏或BEGIN_MESSAGE_MAP/END_MESSAGE_MAP结构来处理这些消息。 1. **键盘消息类型**: - `WM_KEYDOWN`...

    动手学MFC之八——鼠标和键盘例子程序

    例如,当用户点击鼠标或按下键盘键时,Windows会发送WM_MOUSEMOVE、WM_LBUTTONDOWN、WM_KEYDOWN等消息到相应的窗口。在MFC中,我们通过消息映射机制将这些消息与处理函数关联起来。 对于鼠标事件,我们可以处理以下...

    MFC-keyboard.rar_MFC_mfc keyboard_event

    此外,MFC还提供了`OnChar`函数来处理字符消息(如WM_CHAR),它通常与WM_KEYDOWN一起使用,因为WM_KEYDOWN只处理虚拟键码,而WM_CHAR则提供了实际的ASCII字符。这使得处理字符输入(如字母、数字等)更为方便。 总...

    vc6中让EDit响应keydown事件

    2. **实现消息处理函数**:接着,在对应的源文件中,实现WM_KEYDOWN消息的处理函数`OnKeyDown`。在这个函数中,我们可以编写当keydown事件发生时要执行的代码: ```cpp void CYourClass::OnKeyDown(UINT nChar, ...

    button-command.zip_MFC 键盘响应_MFC键盘_mfc 键盘

    在键盘响应中,关键的消息是WM_KEYDOWN和WM_KEYUP,分别对应于键按下和键释放。要处理这些消息,我们需要在派生自CWinApp或CWnd类的类中定义消息映射。 在MFC中,你可以通过在类的`.h`文件中声明消息映射宏来处理...

    vc鼠标与键盘操作

    1. WM_KEYDOWN:按下任意键。 2. WM_KEYUP:释放任意键。 3. WM_CHAR:用户按下的是可打印字符。 4. WM_DEADCHAR:产生死键(如组合键)。 5. WM_SYSKEYDOWN/WM_SYSKEYUP:系统键,如Alt+Tab或Alt+F4。 处理键盘...

    VC6.0中处理键盘消息

    键盘事件处理主要是通过响应特定的消息来实现的,这些消息包括WM_CHAR、WM_KEYDOWN和WM_KEYUP。这些消息分别对应于MFC类中的OnChar、OnKeyDown和OnKeyUp消息处理函数。 1. WM_CHAR消息:当用户按下可打印键(非功能...

    VC消息映射与处理\创建和使用键盘插入符

    当用户按下键盘上的键时,会产生WM_KEYDOWN消息,释放时产生WM_KEYUP消息。我们可以通过重载CWnd类的PreTranslateMessage函数来捕获这些消息,或者在消息映射中添加相应条目。 例如,要在CMyClass中处理键盘事件,...

    键盘消息检测程序 MFC

    例如,`ON_MESSAGE(WM_KEYDOWN, OnKeyDown)`这条映射会告诉程序当接收到`WM_KEYDOWN`消息时调用`OnKeyDown`函数。在这些处理函数中,我们可以获取消息的详细信息,如虚拟键码(VK_CODE),扫描码,以及是否被重复...

    Window mobile按键消息封装测试

    void KeyHandler::OnKeyDown(WM_KEYDOWN message) { switch (message.wParam) { case VK_UP: // 处理上箭头键的逻辑 break; case VK_DOWN: // 处理下箭头键的逻辑 break; // 其他按键... } } void ...

    05? ??? ??_MFC_源码

    ON_MESSAGE(WM_KEYDOWN, OnKeyDown) ON_MESSAGE(WM_KEYUP, OnKeyUp) ``` 然后在对应的类中实现这两个函数: ```cpp LRESULT CYourClassName::OnKeyDown(WPARAM wParam, LPARAM lParam) { // 处理WM_KEYDOWN消息的...

    VC++消息映射与处理\在对话框中实现键盘消息响应

    在`.h`文件的`BEGIN_MESSAGE_MAP`和`END_MESSAGE_MAP`之间添加对应的消息处理函数声明,例如处理WM_KEYDOWN消息的`ON_WM_KEYDOWN()`。这告诉MFC框架,当该对话框接收到WM_KEYDOWN消息时,应该调用相应的成员函数来...

    对话框响应鼠标及键盘消息.rar

    当用户与对话框交互时,操作系统会生成相应的消息,如WM_LBUTTONDOWN(鼠标左键按下)、WM_KEYDOWN(键盘按键按下)等,并将这些消息放入应用程序的消息队列中。 1. **处理鼠标消息**: - **WM_LBUTTONDOWN**: 当...

    VC++键盘与鼠标的消息处理

    非系统键消息则是不与Alt键组合的普通输入键,如WM_KEYDOWN、WM_KEYUP和WM_CHAR。WM_CHAR消息用于处理产生可见字符的按键,如字母和数字键。 处理键盘消息的关键在于编写消息处理函数,例如OnChar函数,它接受三个...

    VC鼠标、键盘响应操作源代码

    1. WM_KEYDOWN和WM_KEYUP:对应于键盘按键的按下和释放,可以获取按键的虚拟键码(VK_XXX)。 2. WM_CHAR:当一个字符键被按下并释放后,该消息会被发送,携带实际的字符ASCII或Unicode值。 3. WM_DEADCHAR和WM_...

    MFC写的贪吃蛇代码.doc

    同时,通过键盘消息WM_KEYDOWN,我们处理玩家的移动指令,使用OnKeyDown()函数响应玩家的按键操作,改变蛇的行进方向。 最后,OnInitialUpdate()函数是视图初始化的关键。在视图窗口创建完成后,框架会首先调用此...

Global site tag (gtag.js) - Google Analytics