MFC 接收键盘输入指令

程序接收键盘输入并作出相应的反馈是一个非常常见的功能,在MFC中提供了WM_KEYDOWN,WM_KEYUP这些消息来反便我们进行编程,但是这是在窗体没有其他控件的情况下才适用的。当有其他控件时,其他控件(其实也是窗体)肯定会有一个获得焦点使得这些消息失效,我们可以通过重载对话框程序的PreTranslateMessage(MSG*
pMsg)虚函数来实现这一功能。

首先在对话框类中先声明下:

BOOL PreTranslateMessage(MSG* pMsg);

然后就可以直接对键盘消息进行处理了,示例如下:

BOOL Dlg::PreTranslateMessage(MSG* pMsg)//Dlg为对话框类
{
	if (pMsg->message == WM_KEYDOWN)
	{
		switch (pMsg->wParam)
		{
		case VK_UP:
			printf("UP\n"); break;
		case VK_DOWN:
			printf("DOWN\n"); break;
		case VK_LEFT:
			printf("LEFT\n"); break;
		case VK_RIGHT:
			printf("RIGHT\n"); break;
		default:
			break;
		}
	}
	return CDialog::PreTranslateMessage(pMsg);
}

由上述的代码也可以发现,我们不仅仅可以响应键盘消息,只要愿意,可以自己在这里定义一个消息循环来处理想做的事。

时间: 2025-01-04 11:14:35

MFC 接收键盘输入指令的相关文章

c语言:编写一个程序,可以直接接收键盘字符

编写一个程序,可以直接接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出. 程序1: #include <stdio.h> int main() { int t = 0; printf("请输入一个字符:"); t = getchar(); if (t >= 'a'&&t <= 'z') { putchar(t-32); } else if(t >= 'A'&&t 

Linux中接收键盘输入

read 选项 变量名 -p    "提示信息" -t     指定等待时间,不指定则一直等待 -n    指定接收的字符数,不指定则不限制 -s    隐藏输入的数据,适用于机密信息的输入 [[email protected] sh]# vi param_test3.sh [[email protected] sh]# cat param_test3.sh #!/bin/bash # 提示用户输入并等待30秒,并将输入结果存入name变量中 read -t 30 -p "P

可以一直接收键盘字符,并将大写转为小写,小写转为大写,数字不作处理

#include<stdio.h>int main(){  char  ch;  char ch1;  while((ch=getchar()) != EOF)  {   if(ch>='a'&&ch<='z')   {  ch1=ch-32;   putchar(ch1);           continue;   }   if(ch>='A'&&ch<='Z')   {  ch1=ch+32;     putchar(ch1);  

Linux接收键盘输入read

Linux_Shell_脚本参数接收键盘输入

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #!/bin/bash #提示"请输入姓名"并等待30秒,把用户的输入保存入变量name中 read -t 30 -p "请输入用户名称:" name echo -e "\n" echo "用户名为:$name" #提示"请输入密码"并等待30秒,把用户的输入保存入变量age中,输入内容隐藏 read -t 30 -s -p

shell接收键盘输入

键盘接收用户输入

键盘接收用户输入   第一步:  导入包,必须位于Java 源文件中的第一行 import java.util.Scanner; 第二步:创建Scanner对象 Scanner input = new Scanner(System.in); 第三步:友好提示 System.out.print("请输入一个数: "); 第四步:键盘输入 int num = input.nextInt(); //注意:等待用户接收键盘输入值,当按下回车键,则表示输入完毕,并将回车之前所输入的内容赋给左侧的

手把手教学MFC吃豆子教程

手把手教学MFC吃豆子教程 本教程适用于零基础学员制作C++课程设计 编程工具:VC++6.0. 本次教学主要知识点: 1.控件消息响应. 2.CDC类函数的使用. 下面开始教学: 吃豆子的基本思想: 1.定义脸和食物类. 2.不断将脸的上一个坐标重绘为白色,将新的脸绘制出来,从而在宏观上实现脸的移动. 3.运用OnTimer()函数制作时钟更新画面,运用OnKeyDown()接收键盘消息. 首先创建工程:我们选择的是MFC AppW的单文档工程. xxxxxxxxxxxxxxxxxxxxxxx

mfc窗口,父窗口parentwindow,所有者窗口ownerwindow 区别

mfc窗口,父窗口parentwindow,所有者窗口ownerwindow 区别 1.理解窗口之间的关系   2.   如何设置(创建)不同的窗口 一. parent:创建者,owner:所有者 小玉的父母生下小玉,养到8岁,卖给贾府当丫头小玉的父母是parent,贾府是owner 二. 1.Pop-up窗口: 一个弹出窗口是必须具有WS_POPUP属性的窗口,弹出窗口只能是一个Top-Level窗口,不能是子窗口,弹出窗口多用于对话框和消              息框,也可以用于应用程序的