在点击鼠标编辑list条目时,我使用的是在网上找到的ListCtrlMaskEdit,ListCtrlMap,amsEdit类,虽然实现了List条目编辑,但是无法响应键盘上下建来改变List条目的内容.问问大家有没有什么办法.
demo我这里有.
MSN:[email protected]

解决方案 »

  1.   

    点击鼠标编辑list条目时,焦点在edit框内,当然无法响应键盘上下建来改变List条目。
    可以PreTranslateMessage(MSG *pMsg)里:
    if (pMsg->message == WM_KEYDOWN)
    在按键盘上下建时候,先将焦点转移到listctrl上.....或者直接设置下一item为LVIS_FOCUSED|LVIS_SELECTED
      

  2.   

    List风格设定已经设定了
    m_myList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVIS_FOCUSED|LVIS_SELECTED);重写PreTranslateMessage只能得到左右,而上下却得不到。
    BOOL CMyListEditDlg::PreTranslateMessage(MSG* pMsg)
    {
    if (pMsg->message == WM_KEYDOWN)
    return CDialog::PreTranslateMessage(pMsg);
    return CDialog::PreTranslateMessage(pMsg);
    }