接收并处理子控件消息问题!!!(困扰了快一天了)

    技术2026-05-25  8

     转帖:http://topic.csdn.net/u/20100117/15/a922e441-3861-48a2-a396-af0e3065cf59.html

    我在CView视图里动态加入2个控件CMFCTabCtrl,CListCtrl两个控件,其中CListCtrl又是CMFCTabCtrl子控件。现在的问题是CListCtrl的消息怎么捕获?我的动态创建代码如下:  .h文件  CMFCTabCtrl TabCtrl;  CListCtrl ListCtrl;      .cpp文件  CMyView::OnInitialUpdate()TabCtrl.Create (CMFCTabCtrl::STYLE_3D_VS2005, rect, this, 10001, CMFCTabCtrl::LOCATION_TOP); TabCtrl.EnableTabSwap(FALSE); TabCtrl.ModifyTabStyle(CMFCTabCtrl::STYLE_3D_ONENOTE); ListCtrl.Create(WS_VISIBLE|LVS_REPORT|LVS_NOLABELWRAP,rect,&TabCtrl,10002); ListCtrl.InsertColumn(0, _T("TEST"), LVCFMT_LEFT, 150); TabCtrl.AddTab(&ListCtrl,L"测试"); ListCtrl.ShowWindow(SW_SHOW); ListCtrl.SetParent(this); 这样创建的代码怎样才能取得控件ListCtrl的消息?   我用ON_NOTIFY(LVN_ITEMCHANGED, 10002, OnLvnItemchangedList)无法取得CListCtrl消息,请问应该怎么处理才可捕获ListCtrl消息?谢谢!

     

     

    解决方法:

     

    父窗口是TabCtrl,所以你要派生个CMFCTabCtrl的类来处理ListCtrl的消息从CMFCTabCtrl派生个类CMyTabCtrl,用ON_NOTIFY重载消息映射就OK了BEGIN_MESSAGE_MAP(CMyTabCtrl, CMFCTabCtrl) ON_NOTIFY(LVN_COLUMNCLICK, IDC_LIST_DATA, &CHistoryDlg::OnLvnColumnclickListData) END_MESSAGE_MAP()

    最新回复(0)