在listctrl中用上下键盘改变listctrl中的当前选项发的是什么消息呀??

解决方案 »

  1.   

    我也想知道! 用键盘改变选择会触发LVN_?
    我用ATL。
      

  2.   

    LVN_ITEMCHANGING
    LVN_ITEMCHANGED
    这两个消息是被触发了, 但触发的地方太多了,怎样判断是SELECT CHANGE?
      

  3.   

    触发的地方太多了?什么意思
    两种情况:
    1、当前没有选,然后选一个,LVN_ITEMCHANGED触发一次
    2、当前选了一个,然后选另一个,LVN_ITEMCHANGED触发三次:选项一、空、选项二
    怎样判断是SELECT CHANGE??
    这样还不能判断吗?
      

  4.   

    哦!应该是三种情况
    3、当前选了一个,然后不选,LVN_ITEMCHANGED触发一次
      

  5.   

    用KeyDown事件。afx_msg void OnKeydownList1(NMHDR* pNMHDR, LRESULT* pResult);
    ON_NOTIFY(LVN_KEYDOWN, IDC_LIST1, OnKeydownList1)
    void CTestDlg::OnKeydownList1(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    LV_KEYDOWN* pLVKeyDow = (LV_KEYDOWN*)pNMHDR;
    // TODO: Add your control notification handler code here
    if(pLVKeyDow->vKey==上箭头) 它的常量忘了,你可以测试一下。
             {
             }
             else if(pLVKeyDow->vKey==.....
              {
              }
    *pResult = 0;
    }
      

  6.   

    TO  abc_rain() LVN_ITEMCHANGED: 当初始化或更新数据时, 都有触发。
      

  7.   

    to: rtdb(东临碣石) 
    如果你在OnNotify中处理就不会了