如何取得当前窗口的工具栏的对象指针或句柄,也就是说我想给工具栏中的一个按钮发一条消息,怎么办?

解决方案 »

  1.   

    如果是CMainframe的话直接用m_wndToolbar对象
      

  2.   

    我不是在mainframe中调用,我在myview中调用,怎么办
      

  3.   

    我用findwindowex();没找着,还有什么办法,直接调用对象是不行的
      

  4.   

    可以这样找
    int nCount =m_wndToolBar.GetCount()for(int i=0;i<nCount;i++)
    {
        if(m_wndToolBar.GetItemID(i)==ID)
        break;
    }
    ASSERT(i<nCount)可以用这个函数发消息
    preTranslateMassage()
      

  5.   

    谢谢,我现在是找不到BAR的对象,在视图中好像不能直接调用对象,编译说对象名为定义,我家了头文件了,#include "mainfrm.h",我就是要找到bar对象,怎么引用,急死了。我用
    CDockEagle * m_peagle=(CDockEagle *)(::FindWindowEx(AfxGetMainWnd()->GetSafeHwnd(),0,"AfxControlBar42d","eagle"));
    ,请问是否正确,CDockEagle是我自己定义的一个停靠工具栏类。
      

  6.   

    把m_wndToolBar的protected属性去掉。
    (CMainFrame* AfxGetMainWnd())->m_wndToolBar
      

  7.   

    把m_wndToolBar的protected属性去掉。(CMainFrame* AfxGetMainWnd())->m_wndToolBar
      

  8.   

    应该是((CMainFrame *)AfxGetMainWnd())->m_wndToolBar,谢谢大家