在基于窗口的程序中,用classWizard直接生成的键盘消息
大概如下:
void CCcsDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
switch (nChar)
{
case VK_LEFT:
iFx=4;
break;
case VK_RIGHT:
iFx=2;break;
case VK_UP:
iFx=1;
break;
case VK_DOWN:
iFx=3;
break;
} CDialog::OnKeyDown(nChar, nRepCnt, nFlags);
}我不理解为什么按键盘上的上下左右键,iFx没变化呢?iFx是类里的数据成员.
大概如下:
void CCcsDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
switch (nChar)
{
case VK_LEFT:
iFx=4;
break;
case VK_RIGHT:
iFx=2;break;
case VK_UP:
iFx=1;
break;
case VK_DOWN:
iFx=3;
break;
} CDialog::OnKeyDown(nChar, nRepCnt, nFlags);
}我不理解为什么按键盘上的上下左右键,iFx没变化呢?iFx是类里的数据成员.
解决方案 »
- 请教:怎么查看com对象,一个Word实例,有没有被手动关闭
- _bstr_t 转CString
- 请问为什么用VBArray()将ATL COM中返回的数组类型变量转换为Javascript的数组时说缺少VBArray?
- 由线程句柄可以得到传入线程的参数么
- 关于CTreeCtrl的重画问题.
- 请问怎样才能获得当前线程的窗口句柄。。谢谢。
- COM高手,我想编一个比较简单的画线的COM,在接口中增加一个方法,DrawLline(CDC *pDC),在编译时,不认类型CDC,这是为什么?
- 关于SetWindowPos的奇怪问题,来看一看
- 各位高手,菜鸟问题?const相关
- 有个窗口老自动获得焦点并切换,如何阻止
- 大侠救命,关于控件背景色的问题!
- 关于VC调试多线程的死锁问题?
这只是一个很简单的问题...
不知道哪里出错拉?
BOOL CDialogDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if (pMsg->message == WM_CHAR || pMsg->message == WM_KEYDOWN)
{
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
但是我换了ASCII码就可以了,比如我换W A S D代替...
为什么用VK_DOWN,VK_RIGHT??