listctrl 单元格点击响应

listctrl 单元格点击响应转到mainframe 或 myView的方法

方法一:
myView.h
afx_msg void OnClickListStudent(NMHDR* pNMHDR, LRESULT* pResult);

myView.cpp
ON_NOTIFY(NM_CLICK, IDC_LISTCTRL, OnClickListStudent)  或

(   ON_NOTIFY(NM_CLICK, IDC_LISTCTRL, CMainFrame::OnClickListStudent)   )
点击view上的listctrl   消息传递。  直接让view 捕获。 也可以让响应函数在别的地上,上面就放到了CMainFrame

注:此listctrl 父窗体为myview  若将方法一  放到cmainframe 是不好用的。


方法二:
增加listctrl  双击事件,在此事件中将得到的值传到Cmainframe
void CListCtrlStyled::OnNMDblclk(NMHDR *pNMHDR, LRESULT *pResult)
{
 // TODO: Add your control notification handler code here
 POSITION pos = GetFirstSelectedItemPosition();
 int nItem = GetNextSelectedItem(pos);
 if (nItem>=0)
 { 
  ((CMainFrame*)(AfxGetApp()->m_pMainWnd))->OnClickListStudent(nItem);
 }
 *pResult = 0;
}

 

posted on 2008-04-01 11:30  willlove  阅读(804)  评论(0)    收藏  举报

导航