5.VC添加ToolTip提示语
一般是在控件里添加,一般做法是继承某个控件,然后在里面加。
//.h CToolTipCtrl m_toolTip; //控件 DWORD m_dwToolTipStyle; //Style; 初始化为0 void InitToolTip(); void EnableBalloonTooptip(); //使能 膨胀效果的ToolTip void ActiveTooltip(BOOL bActive = TRUE); //使能 Tooltip void SetTooltipText(LPCTSTR lpszText, BOOL bActive = TRUE); //同时还需要重载虚函数 PreTranslateMessage virtual BOOL PreTranslateMessage(MSG * pMsg); //.cpp void 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!"));