如果选中列表框的某一行,则让列表框中该行的内容显示在几个文本框中。
用鼠标点击时可以实现,但是用键盘的上下键(↑↓)改变列表框中被选中的行数后,怎样让文本框中的内容也更新呢?

解决方案 »

  1.   

    重载的PreTranslateMessage函数中屏蔽ESC的消息: 
    BOOL  CSysDlg::PreTranslateMessage(MSG*  pMsg)    
      {  
        
      if  (WM_KEYDOWN  ==  pMsg->message)  
      {  
      if  (VK_UP  ==  pMsg->wParam)  
      {//  ↑ 键  
    处理...........
      return  TRUE;  
                                            }  
                          }  
      }
      

  2.   

    响应列表框的LBN_SELCHANGE消息啊
      

  3.   

    知道了。
    不过LBN_SELCHANGE是listbox中的消息吧,listcontrol中是响应LVN_ITEMCHANGED消息来通过键盘选择,还要响应NM_CLICK消息。
    光响应LVN_ITEMCHANGED消息好像会出错,不知道为什么。