为了满足需要,就是当在某行最后一列按向右方向键,要回到该行第一列
因为datagrid默认,但该最后一列时再按右是回到下行第一列
为此,我响应了
BOOL CTableView::PreTranslateMessage(MSG* pMsg)
if(pMsg-> message==WM_KEYDOWN ){
if(pMsg-> wParam==VK_RIGHT && m_grid.GetCol()==m_grid.GetColumns().GetCount()-1){
pMsg-> wParam=VK_HOME;
}
if(pMsg-> wParam==VK_LEFT && m_grid.GetCol()==1)
return TRUE;
}
BOOL CXXXXXDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if (WM_KEYDOWN == pMsg->message || WM_CHAR == pMsg->message)
{
switch (pMsg->wParam)
{
case VK_RETURN :
if (pMsg->hwnd == GetDlgItem(IDC_XXXX_XXXX)->m_hWnd||
pMsg->hwnd == GetDlgItem(IDC_XXXX_XXXX)->m_hWnd ||
pMsg->hwnd == GetDlgItem(IDC_XXXX_XXXX)->m_hWnd)
{
NextDlgCtrl(); // 回车转为TAB
return TRUE;
}
}