我的工具栏用m_wndToolBar.CreateEx(this,TBSTYLE_FLAT,WS_CHILD  |WS_VISIBLE|CBRS_ALIGN_TOP|TBSTYLE_TOOLTIPS)创建              
其中也使用了TBSTYLE_TOOLTIPS参数,但是就是不能显示提示信息              
谁能教教我怎么做

解决方案 »

  1.   

    打开你的工具条,双击你的工具图标在其属性页中的Prompt中填上“\n你的提示信息”
      

  2.   

    ------------------------------------------------------------------------------------
    ------打开你的工具条,双击你的工具图标在其属性页中的Prompt中填上“\n你的提示信息”--------------------------------------------------------------------------------------就是添加了提示信息显示不出来
    我是写的一个基于对话框的程序,工具栏是自己添上去的
      

  3.   

    为工具栏添加工具提示[3.1] 在CDlgMenuToolbarDlg类定义中手工添加消息映射函数的定义,如下黑体部分 
       //{{AFX_MSG(CDlgMenuToolbarDlg)
    virtual BOOL OnInitDialog();
    afx_msg void OnPaint();
    afx_msg BOOL OnToolTipText(UINT, NMHDR* pNMHDR, LRESULT* pResult);
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()[3.2] 在CDlgMenuToolbarDlg.cpp添加函数的实现代码 
    //工具栏提示
    BOOL CDlgMenuToolbarDlg::OnToolTipText(UINT, NMHDR* pNMHDR, LRESULT* pResult)
    {
    ASSERT(pNMHDR->code == TTN_NEEDTEXTA || pNMHDR->code == TTN_NEEDTEXTW);

    // UNICODE消息
    TOOLTIPTEXTA* pTTTA = (TOOLTIPTEXTA*)pNMHDR;
    TOOLTIPTEXTW* pTTTW = (TOOLTIPTEXTW*)pNMHDR;
    //TCHAR szFullText[512];
    CString strTipText;
    UINT nID = pNMHDR->idFrom;

    if (pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) ||
    pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND))
    {
    // idFrom为工具条的HWND 
    nID = ::GetDlgCtrlID((HWND)nID);
    }

    if (nID != 0) //不为分隔符
    {
    strTipText.LoadString(nID);
    strTipText = strTipText.Mid(strTipText.Find('\n',0)+1);

    #ifndef _UNICODE
    if (pNMHDR->code == TTN_NEEDTEXTA)
    {
    lstrcpyn(pTTTA->szText, strTipText, sizeof(pTTTA->szText));
    }
    else
    {
    _mbstowcsz(pTTTW->szText, strTipText, sizeof(pTTTW->szText));
    }
    #else
    if (pNMHDR->code == TTN_NEEDTEXTA)
    {
    _wcstombsz(pTTTA->szText, strTipText,sizeof(pTTTA->szText));
    }
    else
    {
    lstrcpyn(pTTTW->szText, strTipText, sizeof(pTTTW->szText));
    }
    #endif

    *pResult = 0;

    // 使工具条提示窗口在最上面
    ::SetWindowPos(pNMHDR->hwndFrom, HWND_TOP, 0, 0, 0, 0,SWP_NOACTIVATE|
    SWP_NOSIZE|SWP_NOMOVE|SWP_NOOWNERZORDER); 
    return TRUE;
    }
    return TRUE;
    }[3.3] 在CDlgMenuToolbarDlg.cpp中添加消息映射,请看如下代码中的黑体部分 
    BEGIN_MESSAGE_MAP(CDlgMenuToolbarDlg, CDialog)
    //{{AFX_MSG_MAP(CDlgMenuToolbarDlg)
    ON_WM_PAINT()
    ON_NOTIFY_EX( TTN_NEEDTEXT, 0, OnToolTipText )
    //}}AFX_MSG_MAP
    END_MESSAGE_MAP()