关于点击一个item响应消息,呵呵,我是通过create在mainframe中完成的。
我想通过点击item‘基础表’在view中显示基础表。而控件我是在mainframe中创建的,用create函数创建的。代码如下:
/////////////这一段代码创建树型控件////////////
if (!m_wndTree.Create(WS_CHILD|WS_VISIBLE|
TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATROOT,
CRect(0, 0, 0, 0), &m_TabCtrl, 100))
{
TRACE0("Failed to create instant bar child\n");
return ;
}
m_wndTree.ModifyStyleEx(0, WS_EX_CLIENTEDGE); ///往树型控件添加内容
HTREEITEM hti = m_wndTree.InsertItem(_T("网络域名管理"));
m_wndTree.InsertItem(_T("基础表"), hti);
m_wndTree.InsertItem(_T("检测历史表"), hti);
m_wndTree.InsertItem(_T("检测批次表"), hti);

解决方案 »

  1.   

    在MainFrame中捕获WM_NOTIFY消息
    然后判断TVN_SELCHANGED类型,就是点击树节点消息
      

  2.   

    看看MSDN上对 WM_NOTIFY消息 及 TVN_SELCHANGED / NM_CLICK/ NM_DBCLICK 等 通知的说明
      

  3.   

    WM_NOTIFY里的第一个参数是你的控件id 100 哦。
      

  4.   

    我明白你们的说法了。看来这个消息是要在父窗口响应才可以。我是在mainframe中创建不假,但是间接创建的。也就是说我是在自己创建的控制条上创建,而这个控制条在mainframe中创建的。如:
    if (!m_wndTree.Create(WS_CHILD|WS_VISIBLE|
    TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATROOT,
    CRect(0, 0, 0, 0), &m_TabCtrl, IDC_TREE))
    {
    TRACE0("Failed to create instant bar child\n");
    return ;
    }
      

  5.   

    如果是按照以上的说法的话,不知道怎么样才能够得到消息的响应啊。各位大侠给个建议吧,我都快要崩溃了。也就是说我是通过m_TabCtrl来动态创建树控件的。