WM_KEYDOWN处理←按键消息时的异常情况 本帖最后由 VisualEleven 于 2014-03-03 11:37:07 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把PreTranslateMessage里的的内容贴出来看看 将几个编辑框的ID号码连续BOOL CEAAADlg::PreTranslateMessage(MSG* pMsg){ // TODO: Add your specialized code here and/or call the base class HWND hWnd = pMsg->hwnd; TCHAR szName[MAX_PATH] = {0}; GetClassName(hWnd, szName, _countof(szName)); if((WM_KEYDOWN == pMsg->message) && (0 == CString(szName).CompareNoCase(_T("Edit")))) { static UINT uID[] = {IDC_EDIT1, IDC_EDIT2, IDC_EDIT3, IDC_EDIT4, IDC_EDIT5}; int nIndex = ::GetDlgCtrlID(hWnd) - IDC_EDIT1; switch(pMsg->wParam) { case VK_LEFT: --nIndex; if(nIndex < 0) { nIndex = _countof(uID) - 1; } GetDlgItem(uID[nIndex])->SetFocus(); return TRUE; case VK_RIGHT: nIndex = (++nIndex) % (_countof(uID)); GetDlgItem(uID[nIndex])->SetFocus(); return TRUE; default: break; } } return CDialog::PreTranslateMessage(pMsg);} 如何将用HOUGH变换提取出来的直线在原图像(彩色)中标记出来??? ocx 打包成CAB文件时版本填写 关于String的字符串提取问题! 基础问题 关于ODBC编程的问题:每次读取一张表(CRecordSet),都提示要选择数据源 关于属性页问题(自动改变大小) 求救:多个自定义类间的对象怎样交互(彼此调用对方的函数) 如何知道目标程序的某个按钮被按下,我考虑用消息钩子,但又好象不行,因为都是按键消息,能区别出发给哪个控件的吗? ATL OLEDB 访问oracle数据库的问题 VC--如何获得想的消息? 关于WTL窗口类导出问题 画圆的圆周锯齿如何消除?
{
// TODO: Add your specialized code here and/or call the base class
HWND hWnd = pMsg->hwnd;
TCHAR szName[MAX_PATH] = {0};
GetClassName(hWnd, szName, _countof(szName));
if((WM_KEYDOWN == pMsg->message) && (0 == CString(szName).CompareNoCase(_T("Edit"))))
{
static UINT uID[] = {IDC_EDIT1, IDC_EDIT2, IDC_EDIT3, IDC_EDIT4, IDC_EDIT5};
int nIndex = ::GetDlgCtrlID(hWnd) - IDC_EDIT1;
switch(pMsg->wParam)
{
case VK_LEFT:
--nIndex;
if(nIndex < 0)
{
nIndex = _countof(uID) - 1;
}
GetDlgItem(uID[nIndex])->SetFocus();
return TRUE; case VK_RIGHT:
nIndex = (++nIndex) % (_countof(uID));
GetDlgItem(uID[nIndex])->SetFocus();
return TRUE; default:
break;
}
}
return CDialog::PreTranslateMessage(pMsg);
}