一般是在控件里添加,一般做法是继承某个控件,然后在里面加。
//.hCToolTipCtrl m_toolTip; //控件DWORD m_dwToolTipStyle; //Style; 初始化为0void InitToolTip();void EnableBalloonTooptip(); //使能 膨胀效果的ToolTipvoid ActiveTooltip(BOOL bActive = TRUE); //使能 Tooltipvoid SetTooltipText(LPCTSTR lpszText, BOOL bActive = TRUE);//同时还需要重载虚函数 PreTranslateMessagevirtual BOOL PreTranslateMessage(MSG * pMsg);//.cppvoid xxx::InitToolTip(){ if (m_ToolTip.m_hWnd == NULL) { m_ToolTip.Create(this, m_dwToolTipStyle); m_ToolTip.Activate(FALSE); //默认不激活 m_ToolTip.SendMessage(TTM_SETMAXTIPWIDTH, 0, 400); //使能多行提示语 } }void xxx::EnableBalloonTooltip(){ m_dwToolTipStyle |= TTS_BALLOON;}void xxx::ActivateTooltip(BOOL bActive){ if (m_ToolTip.GetToolCount() == 0) //有内容才使能 { return; } m_ToolTip.Activate(bActive);}void xxx::SetTooltipText(LPCTSTR lpszText, BOOL bActive){ if (lpszText == NULL) return; InitToolTip(); //如果没有ToolTip定义,则添加一个 if (m_ToolTip.GetToolCount() == 0) { CRect rc; GetClientRect(rc); m_ToolTip.AddTool(this, lpszText, rc, 1); } m_ToolTip.Update(lpszText, this, 1); m_ToolTip.Activate(bActive);}BOOL xxx::PreTranslateMessage(MSG * pMsg){ InitToolTip(); m_ToolTip.RelayEvent(pMsg); return CButton::PreTranslateMessage(pMsg);}
使用:
//如在按钮上添加提示语m_btn1.EnableBalloonToopTip(); //可加可不加.效果而已。m_btn1.SetTooltipText(_T("Sylar Test\r\nHello World!"));