读书人

有关键盘输入?解决思路

发布时间: 2012-01-23 21:57:28 作者: rapoo

有关键盘输入?
我想实现的功能是,我的程序是基于对话框的,有两个对话框,每个对话框上分别有一个编辑框用来接收键盘输入,我在第一个对话框所对应的类中的PreTranslateMessage函数中写入如下代码:

BOOL CKeyTest2Dlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg-> wParam== '2 ')
{
pMsg-> wParam= '3 ';
return CDialog::PreTranslateMessage(pMsg);
}
return CDialog::PreTranslateMessage(pMsg);
}
这段代码的功能就是键盘输入数字键2,我显示的是3,这在第一个对话框中是可以的,但是当当前是第二个对话框获得焦点,我输入的数字键2,显示也是2,只有把这段代码写在第二个对话框所对应的类的PreTranslateMessage函数中才可以,这在我的功能简单时写代码不麻烦,但代码过多时就显得累赘,所以怎样才能实现相同的功能代码只写在一处,在两个对话框上都管用呢?


即,我上面这段代码通过什么样的方法,使写一遍这两个对话框均能达到输入数字键2,显示为3的效果?

[解决办法]
哦,刚才看了一下,那个是在05下做的

不过差不多哈,你主要看它的CMagDialog是怎么写的,然后各个对话框是怎么从CMagDialog继承的

读书人网 >VC/MFC

热点推荐