我在onKeyDown(....)中要同时处理两个按键,要如何做?
还有,我在文件中用VK_F,为什么编译器报错:error C2065: 'VK_F' : undeclared identifier.
还有,我在文件中用VK_F,为什么编译器报错:error C2065: 'VK_F' : undeclared identifier.
解决方案 »
- 初做报表,一窍不通,还望指教。。。。
- mfc程序中关于数据库方面的问题
- 6000万行文本文件,800M大小,不用数据库,怎么写程序最快删去重复行.
- 打印机编程的问题,打印东西时偶尔打印空白、或乱码或不清楚,不知这时怎么回事?
- 请问如何在htmldialog中的select对象里面实现类似于dialog的combobox的addstring功能
- 求救 VC ADO数据绑定问题
- 关于数组的基地址和段长
- 急急急!!如何取得工具栏上的坐标、如何响应鼠标右键消息弹出上下文菜单??
- hook问题,老生常弹
- 在c++中关于窗体!
- 很简单的函数参数的问题。没分了,那位好心人帮忙看看!
- ——————————COM接口函数声明中[in][out]的问题,来的朋友都有分!——————————
{}
if(nChar==VK_UP)
{}
我有个简单的例子是处理在同一个对话框中的不同EDIT中切换的时候
用的,是处理按ENTER键,还有键盘上的上、下键的时候切换到下一个
EDIT的代码,希望对你有所帮助
PreTranslateMessage(MSG *pMsg)
{
if(pMsg->Message == WM_KEYDOWN){
switch(pMsg->wParam){
case 0x0d://处理ENTER键
pMsg->wParam = VK_TAB;
break;
case VK_DOWN://处理方向键-下
pMsg->wParam = VK_TAB;
break;
case VK_UP://处理方向键-上
//由于在具有多个EDIT的对话框中用组合键SHIFT+TAB
//是从当前的EDIT切换到上一个EDIT中(焦点),所以下面
//是用来处理组合键的
keyevent(VK_SHIFT,0,0,O);
keybd_event(VK_TAB,0,0,O);
keybd_event(VK_TAB,0,KEYEVENTF_KEYUP,0);
keybd_event(VK_SHIFT,0,KEYEVENTF_KEYUP,0);
break;
}
}
}
上面这段代码是在你从CEDIT类派生了自己的类之后,再重载PreTranslateMessage
来完成的!2、你在你的程序中定义一个变量,用来存放VK_F的键值,最好在程序一开始
的时候就初始化这个变量,然后在程序的其他地方都用你定义的那个变量
这样就不会出现楼主说的那种错误了!希望对你有所帮助!
祝你成功!